package com.wandian.game
{		
		import flash.events.*;
		
		public class SoundController extends EventDispatcher
		{
			private var fCannonLoop_csl:ContiguousSoundLoop;
			private var fSwordFightBonusFootstep_rs:RandomSound;
			private var fClickMeIconClickedButNotCollectedYet_bl:Boolean;
			private var fSwordFightBonusLightFootstep_rs:RandomSound;
			private var fHandgunLoop_csl:ContiguousSoundLoop;
			private var fMainGameSpinMusicLoop_csl:ContiguousSoundLoop;
			private var fSwordFightBonusSwordSwishing_rs:RandomSound;
			private var fWorkerBonusArrrSoundRequired_bl:Boolean;
			private var fClickMeIconPuslsingSoundInProgresss_bl:Boolean;
			private var fWorkerGrogBonusCountingSoundLoop_csl:ContiguousSoundLoop;
			private var fCompasLoop_csl:ContiguousSoundLoop;
			private var fCaptainPainVox_rs:RandomSound;
			private var fMaidenLoop_csl:ContiguousSoundLoop;
			private var fClickMeBonusMusicLoop_csl:ContiguousSoundLoop;
			private var fMainGameNewNewSpinMusicLoop_csl:ContiguousSoundLoop;
			private var fWorkerGrogBonusBGMSoundLoop_csl:ContiguousSoundLoop;
			private var fWorkerGrogAmbientFxSoundLoop_sl:SoundLoop;
			private var fFreeSpinsBGMSoundLoop_sl:SoundLoop;
			private var fMapLoop_csl:ContiguousSoundLoop;
			private var fClickMeIconClickedSoundSelectionCriteria_int:int;
			private var fBarelLoop_csl:ContiguousSoundLoop;
			private var fChestLoop_csl:ContiguousSoundLoop;
			private var fSkyllswordLoop_csl:ContiguousSoundLoop;
			private var fSwordFightBonusCaptainFalling_rs:RandomSound;
			private var fSounds_sndex_obj:Object;
			private var fSwordFightBGMSoundLoop_csl:ContiguousSoundLoop;
			private var fBigWinMusicLoop_csl:ContiguousSoundLoop;
			private var fWorkerLoop_csl:ContiguousSoundLoop;
			private var fMainBGMSoundLoop_csl:ContiguousSoundLoop;
			private var fSwordFightBonusSwordsClashing_rs:RandomSound;
			private var fWorkerGrogBonusFinalWinCountingSoundLoop_csl:ContiguousSoundLoop;
			private var fAmbientFxSoundLoop_sl:SoundLoop;
			private var fMainGameNewSpinMusicLoop_csl:ContiguousSoundLoop;
			private var fHeroPainVox_rs:RandomSound;
			private var fBigWinValueCountingSoundLoop_csl:ContiguousSoundLoop;
			private var fWorkerGrogBonusCoinSpinningSoundLoop_csl:ContiguousSoundLoop;
			private var fSwordFightBonusSwordsFleshing_rs:RandomSound;
			private var fCaptainLoop_csl:ContiguousSoundLoop;
			private var fSoundOn_bl:Boolean;
			private var fGoldLoop_csl:ContiguousSoundLoop;
			private static const TRACK_ID_BET_PER_LINE_BUTTON_CLICKED:String = "SNDSelectLinesBetPerLine";
			private static const TRACK_ID_SPIN_BUTTON_CLICKED:String = "SNDSpinButtonClicked";
			private static const TRACK_ID_WORKER_BONUS_WORKER_INTRO1_SPEECH:String = "SNDWorkerIntroSpeech1";
			private static const TRACK_ID_SWORDFIGHT_FINAL_CAPTAIN_VOX_2:String = "SNDSwordFightFinalCaptainVox2";
			private static const TRACK_ID_NEW_NEW_SPIN_MUSIC:String = "SNDMainGameNewSpinPart2";
			private static const TRACK_ID_WILD_REEL_SECOND_CANNON_SHOT:String = "SNDCannonShot2";
			private static const TRACK_ID_MAP_FINGER_TAP:String = "SNDMapFingerTap";
			private static const TRACK_ID_SWORDFIGHT_CAPTAIN_PAIN_VOX_3:String = "SNDCaptainPainVox3";
			private static const TRACK_ID_SWORDFIGHT_CAPTAIN_PAIN_VOX_5:String = "SNDCaptainPainVox5";
			private static const TRACK_ID_SWORDFIGHT_CAPTAIN_PAIN_VOX_1:String = "SNDCaptainPainVox1";
			private static const TRACK_ID_SWORDFIGHT_CAPTAIN_PAIN_VOX_2:String = "SNDCaptainPainVox2";
			private static const TRACK_ID_REEL1_SPIN_STOPPED:String = "SNDReel1SpinStopped";
			private static const TRACK_ID_SWORDFIGHT_FINAL_CAPTAIN_VOX_1:String = "SNDSwordFightFinalCaptainVox1";
			private static const TRACK_ID_MAIN_MUSIC_LOOP_PART_1:String = "SNDMainMusicLoopPart1";
			private static const TRACK_ID_MAIN_MUSIC_LOOP_PART_2:String = "SNDMainMusicLoopPart2";
			private static const TRACK_ID_MAIN_MUSIC_LOOP_PART_3:String = "SNDMainMusicLoopPart3";
			private static const TRACK_ID_WORKER_WINNER_SECOND_HIT:String = "SNDWorkerWinnerSecondHit";
			private static const TRACK_ID_WORKER_WINNER_FIRST_HIT_CLATTER:String = "SNDWorkerWinnerFirstHitClatter";
			private static const TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_1:String = "SNDPrimaryBGInterruptorAsset1";
			private static const TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_2:String = "SNDPrimaryBGInterruptorAsset2";
			private static const TRACK_ID_SWORDFIGHT_CAPTAIN_PAIN_VOX_4:String = "SNDCaptainPainVox4";
			private static const TRACK_ID_SWORDFIGHT_BLOCK_TURNING_COMPLETION:String = "SNDBlockTurningCompletion";
			private static const TRACK_ID_WORKER_WINNER_FIRST_HIT:String = "SNDWorkerWinnerFirstHit";
			private static const TRACK_ID_SWORDFIGHT_BGM_PART_2:String = "SNDSwordFightBGMSoundLoopPart2";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_4:String = "SNDSwordSwishing4";
			private static const TRACK_ID_WORKER_GROG_BONUS_BGM_PART1:String = "SNDWorkerBonusBGMPart1";
			private static const TRACK_ID_WORKER_GROG_BONUS_BGM_PART2:String = "SNDWorkerBonusBGMPart2";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_7:String = "SNDSwordSwishing7";
			private static const TRACK_ID_SWORDFIGHT_BGM_PART_1:String = "SNDSwordFightBGMSoundLoopPart1";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_3:String = "SNDSwordSwishing3";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_5:String = "SNDSwordSwishing5";
			private static const TRACK_ID_BARREL_LIQUID:String = "SNDBarrelLiquid";
			private static const TRACK_ID_MAIDEN_ICON_SIGH:String = "SNDMaidenSigh";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_1:String = "SNDSwordSwishing1";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_2:String = "SNDSwordSwishing2";
			private static const TRACK_ID_SWORDFIGHT_SWORDS_FLESH_2:String = "SNDSwordsFlesh2";
			private static const TRACK_ID_CAPTAIN_ICON_MUSIC:String = "SNDCaptainIconMusic";
			private static const TRACK_ID_CHEST_ICON_MUSIC:String = "SNDChestAnimationMusic";
			private static const TRACK_ID_MAIN_MUSIC_LOOP_PART_4A:String = "SNDMainMusicLoopPart4a";
			private static const TRACK_ID_MAIN_MUSIC_LOOP_PART_4B:String = "SNDMainMusicLoopPart4b";
			private static const TRACK_ID_SWORDFIGHT_SWORDS_FLESH_1:String = "SNDSwordsFlesh1";
			private static const TRACK_ID_SWORDFIGHT_BUTTONS_INTRO:String = "SNDSwordFightBonusButtonsShimmer";
			private static const TRACK_ID_CAPTAIN_ICON_VOX:String = "SNDCaptainIconVox";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_8:String = "SNDSwordSwishing8";
			private static const TRACK_ID_WORKER_BONUS_WORKER_ARRR_VOICE:String = "SNDWorkerArrrVoice";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_6:String = "SNDSwordSwishing6";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_9:String = "SNDSwordSwishing9";
			private static const TRACK_ID_SWORDFIGHT_DOUBLE_FOOTSTEP:String = "SNDSwordFightBonusDoubleFootstep";
			private static const TRACK_ID_SWORDFIGHT_SWORDS_FLESH_3:String = "SNDSwordsFlesh3";
			private static const TRACK_ID_REEL0_SPIN_STOPPED:String = "SNDReel0SpinStopped";
			private static const TRACK_ID_FREE_SPINS_SPINNING_MUSIC:String = "SNDFreeSpinsSpinMusic";
			private static const TRACK_ID_WORKER_WINNER:String = "SNDWorkerGrogBonusPlayerLooser";
			private static const TRACK_ID_SKULL_ICON_MUSIC:String = "SNDSkullAnimationMusic";
			private static const TRACK_ID_SWORDFIGHT_SWORDS_CLASH_1:String = "SNDSwordsClash1";
			private static const TRACK_ID_SWORDFIGHT_SWORDS_CLASH_2:String = "SNDSwordsClash2";
			private static const TRACK_ID_SWORDFIGHT_SWORDS_CLASH_3:String = "SNDSwordsClash3";
			private static const TRACK_ID_PRIMARY_BG_ASSET_1:String = "SNDPrimaryBGAsset1";
			private static const TRACK_ID_PRIMARY_BG_ASSET_2:String = "SNDPrimaryBGAsset2";
			private static const TRACK_ID_WORKER_ICON_MUSIC:String = "SNDWorkerIconMusic";
			private static const TRACK_ID_PRIMARY_BG_ASSET_4:String = "SNDPrimaryBGAsset4";
			private static const TRACK_ID_FREE_SPINS_PARROT_WINGBEATS:String = "SNDParrotWingbeats";
			private static const TRACK_ID_FREE_SPINS_COMPLETION_SOUND:String = "SNDFreeSpinsCompletion";
			private static const TRACK_ID_PRIMARY_BG_ASSET_3:String = "SNDPrimaryBGAsset3";
			private static const TRACK_ID_CLICKME_ICON_PULSING:String = "SNDClickMeIconPulsing";
			private static const TRACK_ID_SWORDFIGHT_FINAL_CAPTAIN_BODY_FALLING_1:String = "SNDSwordFightBonusPirateBodyFalling1";
			private static const TRACK_ID_BIG_WIN_COINS_FLOW:String = "SNDCoinsFlow";
			private static const TRACK_ID_REELS_SPINNING_STARTED:String = "SNDReelsSpinningStarted";
			private static const TRACK_ID_SWORDFIGHT_SWORDS_CLASH_6:String = "SNDSwordsClash6";
			private static const TRACK_ID_SWORDFIGHT_FINAL_CAPTAIN_BODY_FALLING_2:String = "SNDSwordFightBonusPirateBodyFalling2";
			private static const TRACK_ID_FREE_SPINS_PARROT_CHATTER_LAST_1:String = "SNDFreeSpinsParrotChatterLast1";
			private static const TRACK_ID_FREE_SPINS_PARROT_CHATTER_LAST_2:String = "SNDFreeSpinsParrotChatterLast2";
			private static const TRACK_ID_FREE_SPINS_PARROT_CHATTER_LAST_3:String = "SNDFreeSpinsParrotChatterLast3";
			private static const TRACK_ID_CLICKME_FIRST_ICON_CLICKED:String = "SNDFirstClickMeIconClicked";
			private static const TRACK_ID_SWORDFIGHT_SWORDS_CLASH_4:String = "SNDSwordsClash4";
			private static const TRACK_ID_SWORDFIGHT_SWORDS_CLASH_5:String = "SNDSwordsClash5";
			private static const TRACK_ID_FREE_SPINS_PARROT_WINGBEAT:String = "SNDParrotWingbeat";
			private static const TRACK_ID_COINS_ICON_MUSIC:String = "SNDCoinsAnimationMusic";
			private static const TRACK_ID_CLICKME_SECOND_ICON_CLICKED:String = "SNDSecondClickMeIconClicked";
			private static const TRACK_ID_PRIMARY_BG_MUSIC:String = "SNDPrimaryBGMusic";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_11:String = "SNDSwordSwishing11";
			private static const TRACK_ID_WILD_REEL_WOOD_PANEL_DROP:String = "SNDWoodPanelDrop";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_15:String = "SNDSwordSwishing15";
			private static const TRACK_ID_SWORDFIGHT_BLOCK_TURNING:String = "SNDBlockTurningSoundPart1";
			private static const TRACK_ID_WILD_REEL_DOCKWORKER_FOOTSTEP:String = "SNDDockWorkerFootstep";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_13:String = "SNDSwordSwishing13";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_14:String = "SNDSwordSwishing14";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_16:String = "SNDSwordSwishing16";
			private static const TRACK_ID_SWORDFIGHT_HERO_PAIN_VOX_1:String = "SNDSwordFightBonusHeroPainVox1";
			private static const TRACK_ID_SWORDFIGHT_HERO_PAIN_VOX_2:String = "SNDSwordFightBonusHeroPainVox2";
			private static const TRACK_ID_SWORDFIGHT_HERO_PAIN_VOX_3:String = "SNDSwordFightBonusHeroPainVox3";
			private static const TRACK_ID_HANDGUN_FIRE:String = "SNDHandgunFire";
			private static const TRACK_ID_SWORDFIGHT_HERO_PAIN_VOX_5:String = "SNDSwordFightBonusHeroPainVox5";
			private static const TRACK_ID_WORKER_BONUS_SEAGULL_CRY:String = "SNDPrimaryBGAsset2";
			private static const TRACK_ID_SWORDFIGHT_HERO_MAIDEN_RIGHT_MOTION:String = "SNDSwordFightRightMotion";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_10:String = "SNDSwordSwishing10";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SWISHING_12:String = "SNDSwordSwishing12";
			private static const TRACK_ID_HANDGUN_ICON_MUSIC:String = "SNDHandgunAnimationMusic";
			private static const TRACK_ID_CLICKME_BONUS_COLLECT_MUSIC:String = "SNDClickMeBonusCollectMusic";
			private static const TRACK_ID_BIG_WIN_MUSIC_LOOP_PART:String = "SNDBigWinMusicLoopPart";
			private static const TRACK_ID_CLICKME_BONUS_INTRO_MUSIC:String = "SNDClickMeBonusIntroMusic";
			private static const TRACK_ID_WORKER_BONUS_WORKER_LOOSER_SPEECH:String = "SNDWorkerLooserSpeech";
			private static const TRACK_ID_REEL4_SPIN_STOPPED:String = "SNDReel4SpinStopped";
			private static const TRACK_ID_COMPASS_LATCH:String = "SNDCompassLatch";
			private static const TRACK_ID_SWORDFIGHT_HERO_PAIN_VOX_4:String = "SNDSwordFightBonusHeroPainVox4";
			private static const TRACK_ID_FREE_SPINS_BG1:String = "SNDFreeSpinsBG1";
			private static const TRACK_ID_FREE_SPINS_BG2:String = "SNDFreeSpinsBG2";
			private static const TRACK_ID_WILD_REEL_DOCKWORKER_VOICE:String = "SNDDockworkerVoice";
			private static const TRACK_ID_REEL_SPIN_STOPPED:String = "SNDReelSpinStopped";
			private static const TRACK_ID_SELECT_LINES_BUTTON_CLICKED:String = "SNDSelectLinesBetPerLine";
			private static const TRACK_ID_MAP_ICON_MUSIC:String = "SNDMapAnimationMusic";
			private static const TRACK_ID_MAIDEN_ICON_MUSIC:String = "SNDMaidenAnimationMusic";
			private static const TRACK_ID_WORKER_BONUS_PLAYER_DRINKING:String = "SNDPlayerDrinking";
			private static const TRACK_ID_COINS_CLATTER:String = "SNDCoinsClatter";
			private static const TRACK_ID_CLICK_ME_BONUS_INTRO:String = "SNDClickMeIntro";
			private static const TRACK_ID_WILD_REEL_CANNON_FUSE:String = "SNDCannonFuse";
			private static const TRACK_ID_FREE_SPINS_INTRO:String = "SNDFreeSpinsIntro";
			public static const EVENT_GAME_INTRO_SOUND_COMPLETED:String = "onGameIntroSoundCompleted";
			private static const TRACK_ID_WORKER_BONUS_WORKER_DRINKING:String = "SNDWorkerDrinking";
			private static const TRACK_ID_WORKER_BONUS_WORKER_GRUNTS:String = "SNDDockworkerGrunts";
			private static const TRACK_ID_WILD_REEL_CANNON_TURNING:String = "SNDCannonTurning";
			private static const TRACK_ID_WORKER_ICON_BARREL_THUD:String = "SNDBarrelThud";
			private static const TRACK_ID_WORKER_BONUS_WORKER_ARR_AGAIN_VC:String = "SNDWorkerArrAgainVoice";
			private static const TRACK_ID_WORKER_BNS_SPIN_STOPPED_USER_WIN:String = "SNDCoinSpinStoppedAndUserIsWinner";
			private static const TRACK_ID_GAME_INTRO:String = "SNDGameIntro";
			private static const TRACK_ID_SWORDFIGHT_LIGHT_FOOTSTEP_1:String = "SNDSwordFightBonusLightFootstep1";
			private static const TRACK_ID_PRIMARY_BG:String = "SNDPrimaryBG";
			private static const TRACK_ID_SWORDFIGHT_LIGHT_FOOTSTEP_3:String = "SNDSwordFightBonusLightFootstep3";
			private static const TRACK_ID_BIG_WIN_PANEL_INTRO_ANIMATION_SOUND:String = "SNDPanelSliding";
			private static const TRACK_ID_WORKER_BONUS_GLASS_SHAKING:String = "SNDGlassShaking";
			private static const TRACK_ID_SPIN_MUSIC:String = "SNDSpinMusic";
			private static const TRACK_ID_SWORDFIGHT_LIGHT_FOOTSTEP_2:String = "SNDSwordFightBonusLightFootstep2";
			private static const TRACK_ID_SWORDFIGHT_SWORD_SHEATHING:String = "SNDSwordSheathing";
			private static const TRACK_ID_BIG_WIN_INTRO_MUSIC:String = "SNDBigWinIntroMusic";
			private static const TRACK_ID_REEL3_SPIN_STOPPED:String = "SNDReel3SpinStopped";
			private static const TRACK_ID_BARREL_ICON_MUSIC:String = "SNDBarrelAnimationMusic";
			private static const TRACK_ID_WORKER_GROG_BONUS_FINAL_WIN_COUNTING:String = "SNDWorkerGrogBonusFinalWinCounting";
			private static const TRACK_ID_PRIMARY_BG_INTERRUPTOR_1:String = "SNDPrimaryBGInterruptor1";
			private static const TRACK_ID_PRIMARY_BG_INTERRUPTOR_2:String = "SNDPrimaryBGInterruptor2";
			private static const TRACK_ID_WILD_REEL_FIRST_CANNON_SHOT:String = "SNDCannonShot1";
			private static const TRACK_ID_CLICKME_THIRD_ICON_CLICKED:String = "SNDThirdClickMeIconClicked";
			private static const TRACK_ID_WORKER_BONUS_WORKER_LAUGH:String = "SNDWorkerLaugh";
			private static const TRACK_ID_SWORDFIGHT_FOOTSTEP_4:String = "SNDSwordFightBonusFootstep4";
			private static const TRACK_ID_CLICKME_BONUS_MUSIC:String = "SNDClickMeBonusMusic";
			private static const TRACK_ID_NEW_SPIN_MUSIC:String = "SNDMainGameNewSpinLoop";
			private static const TRACK_ID_WORKER_BONUS_WORKER_INTRO_SPEECH:String = "SNDWorkerIntroSpeech";
			private static const TRACK_ID_FREE_SPINS_PARROT_VOICE:String = "SNDFreeSpinsParrotVoice";
			private static const TRACK_ID_SWORDFIGHT_FOOTSTEP_5:String = "SNDSwordFightBonusFootstep5";
			private static const TRACK_ID_SWORDFIGHT_FOOTSTEP_2:String = "SNDSwordFightBonusFootstep2";
			private static const TRACK_ID_SWORDFIGHT_FINAL_CAPTAIN_BODY_FALLING:String = "SNDSwordFightBonusPirateBodyFalling";
			private static const TRACK_ID_FREE_SPINS_PARROT_CHATTER_1:String = "SNDFreeSpinsParrotChatter1";
			private static const TRACK_ID_FREE_SPINS_PARROT_CHATTER_2:String = "SNDFreeSpinsParrotChatter2";
			private static const TRACK_ID_FREE_SPINS_PARROT_CHATTER_3:String = "SNDFreeSpinsParrotChatter3";
			private static const TRACK_ID_FREE_SPINS_PARROT_CHATTER_4:String = "SNDFreeSpinsParrotChatter4";
			private static const TRACK_ID_FREE_SPINS_PARROT_CHATTER_5:String = "SNDFreeSpinsParrotChatter5";
			private static const TRACK_ID_WORKER_BONUS_TABLE_POUNDED:String = "SNDTablePounded";
			private static const TRACK_ID_BUTTON_CLICKED:String = "SNDButtonClicked";
			private static const TRACK_ID_WORKER_WINNER_THIRD_HIT:String = "SNDWorkerWinnerThirdHit";
			private static const TRACK_ID_WORKER_BONUS_GLASS_PLACED:String = "SNDGlassPlacedOnTheTable";
			private static const TRACK_ID_SWORDFIGHT_FINISHER:String = "SNDSwordFightFinisher";
			private static const TRACK_ID_MAP_DAGGER_WHIZZ:String = "SNDDaggerWhizz";
			private static const TRACK_ID_SWORDFIGHT_FOOTSTEP_3:String = "SNDSwordFightBonusFootstep3";
			private static const TRACK_ID_SWORDFIGHT_FOOTSTEP_1:String = "SNDSwordFightBonusFootstep1";
			private static const TRACK_ID_CANNON_ICON_CANNON_SHOT:String = TRACK_ID_WILD_REEL_FIRST_CANNON_SHOT;
			private static const TRACK_ID_START_SPIN:String = "SNDStartSpin";
			private static const TRACK_ID_MAP_DAGGER_HIT:String = "SNDDaggerHit";
			private static const TRACK_ID_WORKER_ICON_SPEECH:String = "SNDWorkerIconWorkerSpeech";
			private static const TRACK_ID_CANNON_ICON_MUSIC:String = "SNDCannonAnimationMusic";
			private static const TRACK_ID_COMPASS_ICON_MUSIC:String = "SNDCompassAnimationMusic";
			private static const TRACK_ID_WORKER_GROG_BONUS_COUNTING:String = "SNDWorkerGrogBonusCounting";
			private static const TRACK_ID_CHEST_ICON_AMBIENT_FX1:String = "SNDChestIconAmbientFx";
			private static const TRACK_ID_WORKER_BONUS_PANEL_SLIDING:String = "SNDPanelSliding";
			private static const TRACK_ID_WORKER_BNS_SPIN_STOPPED_USER_LOSE:String = "SNDCoinSpinStoppedAndUserIsLooser";
			private static const TRACK_ID_SWORDFIGHT_HIT_BY_SLASH:String = "SNDHitBySlash";
			private static const TRACK_ID_WORKER_BONUS_COIN_SPIN:String = "SNDCoinSpin";
			private static const TRACK_ID_REEL2_SPIN_STOPPED:String = "SNDReel2SpinStopped";
			private static const TRACK_ID_BIG_WIN_COMPLETE_MUSIC:String = "SNDBigWinCompleteMusic";
			private static const TRACK_ID_WORKER_GROG_BONUS_FINISHER:String = "SNDWorkerGrogBonusFinisher";
			private static const TRACK_ID_BIG_WIN_VALUE_COUNTING:String = "SNDWorkerGrogBonusCounting";
			private static const TRACK_ID_SKULL_ICON_SPEECH:String = "SNDSkullSpeech";
			private static const TRACK_ID_WILD_REEL_DEBRIS:String = "SNDWildReelDebris";
			private static const TRACK_ID_SWORDFIGHT_HERO_MAIDEN_LEFT_MOTION:String = "SNDSwordFightLeftMotion";
			private static const TRACK_ID_WORKER_LOOSER:String = "SNDWorkerGrogBonusWorkerLooser";
			private static const TRACK_ID_COIN_CLICKED:String = "SNDCoinClicked";
			private static const TRACK_ID_WILD_REEL_INTRO:String = "SNDWildReelIntro";
			private static const TRACK_ID_MAX_BET_BUTTON_CLICKED:String = TRACK_ID_START_SPIN;
			private static const TRACK_ID_SWORDFIGHT_BUTTON_PULSING:String = "SNDSwordFightButtonPulsing";
			private static const TRACK_ID_SWORDFIGHT_ROPES_CUTTING:String = "SNDRopesCutting";
			private static const TRACK_ID_SWORDFIGHT_HIT_BY_THRUST:String = "SNDHitByThrust";
			private static const TRACK_ID_SWORDFIGHT_STUMBLE_FOOTSTEP_1:String = "SNDSwordFightBonusStumbleFootstep1";
			
			public function SoundController() : void
			{
				fSounds_sndex_obj = new Object();
				fSoundOn_bl = true;
				return;
			}// end function
			
			private function get mainGameNewSpinMusicLoop() : ContiguousSoundLoop
			{
				if (!this.fMainGameNewSpinMusicLoop_csl)
				{
					this.initMainGameNewSpinMusicLoop();
				}
				return this.fMainGameNewSpinMusicLoop_csl;
			}// end function
			
			private function onWorkerGrogBonusFinalWinCountingStarted(event:Event) : void
			{
				this.stopWorkerGrogBonusBGMSoundLoop();
				this.workerGrogBonusFinalWinCountingSoundLoop.startToPlay(500, 0);
				return;
			}// end function
			
			private function initWorkerGrogBonusFinalWinCountingSoundLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fWorkerGrogBonusFinalWinCountingSoundLoop_csl)
				{
					return;
				}
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_WORKER_GROG_BONUS_FINAL_WIN_COUNTING, 1, this.getSoundVolume(TRACK_ID_WORKER_GROG_BONUS_FINAL_WIN_COUNTING));
				this.fWorkerGrogBonusFinalWinCountingSoundLoop_csl = new ContiguousSoundLoop();
				this.fWorkerGrogBonusFinalWinCountingSoundLoop_csl.addSound(_loc_1);
				this.fWorkerGrogBonusFinalWinCountingSoundLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onBigWinIntroSoundCompleted(event:Event) : void
			{
				this.playBigWinMusicLoop();
				return;
			}// end function
			
			private function onSwordFightBonusSwordSheathingStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_SWORDFIGHT_SWORD_SHEATHING);
				return;
			}// end function
			
			private function playSwordFightBonusPanelWhooshing() : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_PANEL_SLIDING);
				return;
			}// end function
			
			private function playMainBGMSoundLoop() : void
			{
				this.fMainBGMSoundLoop_csl.startToPlay();
				return;
			}// end function
			
			private function onWorkerPoundsTheTable(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_TABLE_POUNDED);
				return;
			}// end function
			
			private function playWorkerGrogBonusCountingSoundLoop() : void
			{
				trace("SoundController.playWorkerGrogBonusCountingSoundLoop() called");
				if (!this.fWorkerGrogBonusCountingSoundLoop_csl)
				{
					this.initWorkerGrogBonusCountingSoundLoop();
				}
				this.fWorkerGrogBonusCountingSoundLoop_csl.startToPlay();
				return;
			}// end function
			
			private function onSwordFightBonusDeathmatchResultPanelHiddingStarted(event:Event) : void
			{
				this.playSwordFightBonusPanelWhooshing();
				return;
			}// end function
			
			private function onFreeSpinsCompleteAnimationStarted(event:Event) : void
			{
				this.stopFreeSpinsBGMSoundLoop(500);
				this.playSound(TRACK_ID_FREE_SPINS_COMPLETION_SOUND, 500);
				return;
			}// end function
			
			private function onWorkerArrrVoiceStarted(event:Event) : void
			{
				if (this.fWorkerBonusArrrSoundRequired_bl)
				{
					this.playSound(TRACK_ID_WORKER_BONUS_WORKER_ARRR_VOICE);
				}
				return;
			}// end function
			
			private function get swordFightBonusFootstep() : RandomSound
			{
				if (!this.fSwordFightBonusFootstep_rs)
				{
					this.initSwordFightBonusFootstep();
				}
				return this.fSwordFightBonusFootstep_rs;
			}// end function
			
			private function stopWorkerGrogBonusBGMSoundLoop() : void
			{
				if (!this.fWorkerGrogBonusBGMSoundLoop_csl)
				{
					return;
				}
				this.fWorkerGrogBonusBGMSoundLoop_csl.stopToPlay(100);
				return;
			}// end function
			
			private function initClickMeSoundLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fClickMeBonusMusicLoop_csl)
				{
					return;
				}
				this.fClickMeBonusMusicLoop_csl = new ContiguousSoundLoop();
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_CLICKME_BONUS_MUSIC);
				this.fClickMeBonusMusicLoop_csl.addSound(_loc_1);
				this.fClickMeBonusMusicLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onPlayerPoundsTheTable(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_TABLE_POUNDED);
				return;
			}// end function
			
			private function stopSound(param1:String, param2:Number = 0) : void
			{
				var _loc_3:SoundEx = null;
				_loc_3 = this.fSounds_sndex_obj[param1];
				if (!_loc_3)
				{
					return;
				}
				_loc_3.stop(param2);
				return;
			}// end function
			
			private function playSpinMusic() : void
			{
				var _loc_1:Number = NaN;
				_loc_1 = Math.random();
				trace("[SoundController] playSpinMusic, lSpinningMusicLoopSelectionCryteria_num = " + _loc_1);
				if (_loc_1 <= 0.1)
				{
					trace("[SoundController] playSpinMusic, mainGameSpinMusicLoop = " + mainGameSpinMusicLoop);
					this.mainGameSpinMusicLoop.startToPlay(100);
				}
				else if (_loc_1 <= 0.4)
				{
					trace("[SoundController] playSpinMusic, mainGameNewSpinMusicLoop = " + mainGameNewSpinMusicLoop);
					this.mainGameNewSpinMusicLoop.startToPlay(100);
				}
				else
				{
					trace("[SoundController] playSpinMusic, mainGameNewNewSpinMusicLoop = " + mainGameNewNewSpinMusicLoop);
					this.mainGameNewNewSpinMusicLoop.startToPlay(100);
				}
				return;
			}// end function
			
			public function setGameController(param1:GameDispatcher) : void
			{
				param1.addEventListener(GameDispatcher.EVENT_GAME_LOADING_STARTED, this.onGameLoadingStarted);
				param1.addEventListener(GameDispatcher.EVENT_COMMAND_SKIP_INTRO_SOUND, this.onSkipIntroSoundCommand);
				param1.addEventListener(GameDispatcher.EVENT_GAME_STARTED, this.onGameStarted);
				param1.addEventListener(Buttons.EVENT_BUTTON_CLICKED, this.onButtonClicked);
				param1.addEventListener(Buttons.EVENT_BET_PER_LINE_BUTTON_CLICKED, this.onBetPerLineButtonClicked);
				param1.addEventListener(Buttons.EVENT_MAX_BET_BUTTON_CLICKED, this.onMaxBetButtonClicked);
				param1.addEventListener(Buttons.EVENT_SELECT_LINES_BUTTON_CLICKED, this.onSelectLinesButtonClicked);
				param1.addEventListener(Buttons.EVENT_SPIN_BUTTON_CLICKED, this.onSpinButtonClicked);
				param1.addEventListener(ChooseCoin.EVENT_COIN_CLICKED, this.onCoinClicked);
				param1.addEventListener(ReelsDispatcher.EVENT_CLICK_ME_BONUS_STARTED, this.onClickMeBonusStarted);
				param1.addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_STARTED, this.onWorkerGrogBonusStarted);
				param1.addEventListener(PaytableDispatcher.EVENT_PAYTABLE_NEXT_PAGE_BUTTON_CLICKED, this.onButtonClicked);
				param1.addEventListener(PaytableDispatcher.EVENT_PAYTABLE_PREVIOUS_PAGE_BUTTON_CLICKED, this.onButtonClicked);
				param1.addEventListener(PaytableDispatcher.EVENT_PAYTABLE_RETURN_TO_GAME_BUTTON_CLICKED, this.onButtonClicked);
				param1.addEventListener(BigWin.EVENT_BIG_WIN_PRESENTATION_STARTED, this.onBigWinPresentationStarted);
				param1.addEventListener(ReelsDispatcher.EVENT_WIN_PRESENTATION_INTERRUPTED, this.onWinPresentationInterrupted);
				param1.addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_STARTED, this.onSwordFightBonusStarted);
				return;
			}// end function
			
			private function onWildReelPanelDraggingStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WILD_REEL_WOOD_PANEL_DROP);
				return;
			}// end function
			
			private function onGoldLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fGoldLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_COINS_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_COINS_ICON_MUSIC));
				fGoldLoop_csl.addSound(_loc_2);
				fGoldLoop_csl.soundOn = this.soundOn;
				fGoldLoop_csl.startToPlay();
				return;
			}// end function
			
			private function get swordFightBGMMusicLoop() : ContiguousSoundLoop
			{
				if (!this.fSwordFightBGMSoundLoop_csl)
				{
					this.initSwordFightBGMMusicLoop();
				}
				return this.fSwordFightBGMSoundLoop_csl;
			}// end function
			
			private function onSwordFightBonusFinalCaptainFallingStarted(event:Event) : void
			{
				if (Math.random() < 0.5)
				{
					this.playSound(TRACK_ID_SWORDFIGHT_FINAL_CAPTAIN_VOX_1);
				}
				else
				{
					this.playSound(TRACK_ID_SWORDFIGHT_FINAL_CAPTAIN_VOX_2);
				}
				return;
			}// end function
			
			private function stopWorkerGrogBonusCoinSpinningSoundLoop() : void
			{
				if (!this.fWorkerGrogBonusCoinSpinningSoundLoop_csl)
				{
					return;
				}
				this.fWorkerGrogBonusCoinSpinningSoundLoop_csl.stopToPlay();
				return;
			}// end function
			
			private function onWildReelDockworkerFootstep(event:Event) : void
			{
				this.playSound(TRACK_ID_WILD_REEL_DOCKWORKER_FOOTSTEP);
				return;
			}// end function
			
			private function initWorkerGrogBonusCoinSpinningSoundLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fWorkerGrogBonusCoinSpinningSoundLoop_csl)
				{
					return;
				}
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_WORKER_BONUS_COIN_SPIN, 1, this.getSoundVolume(TRACK_ID_WORKER_BONUS_COIN_SPIN));
				this.fWorkerGrogBonusCoinSpinningSoundLoop_csl = new ContiguousSoundLoop();
				this.fWorkerGrogBonusCoinSpinningSoundLoop_csl.addSound(_loc_1);
				this.fWorkerGrogBonusCoinSpinningSoundLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onWildReelBonusIntroCompleted(event:Event) : void
			{
				this.playMainBGMSoundLoop();
				return;
			}// end function
			
			private function initSwordFightBonusLightFootstep() : void
			{
				if (this.fSwordFightBonusLightFootstep_rs)
				{
					return;
				}
				this.fSwordFightBonusLightFootstep_rs = new RandomSound();
				this.fSwordFightBonusLightFootstep_rs.addSound(TRACK_ID_SWORDFIGHT_LIGHT_FOOTSTEP_1, 0.5);
				this.fSwordFightBonusLightFootstep_rs.addSound(TRACK_ID_SWORDFIGHT_LIGHT_FOOTSTEP_3, 0.5);
				this.fSwordFightBonusLightFootstep_rs.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onSwordFightBonusBlockTurningCompleted(event:Event) : void
			{
				this.playSound(TRACK_ID_SWORDFIGHT_BLOCK_TURNING_COMPLETION);
				return;
			}// end function
			
			private function onChestLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fChestLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_CHEST_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_CHEST_ICON_MUSIC));
				fChestLoop_csl.addSound(_loc_2);
				fChestLoop_csl.soundOn = this.soundOn;
				fChestLoop_csl.startToPlay();
				return;
			}// end function
			
			private function onIconWorkerSpeechStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_ICON_SPEECH);
				return;
			}// end function
			
			private function playSound(param1:String, param2:Number = 0, param3:Number = 0, param4:Number = 0, param5:Number = -1) : SoundChannelEx
			{
				var _loc_6:SoundEx = null;
				trace("[SoundController] playSound " + param1);
				_loc_6 = this.fSounds_sndex_obj[param1];
				if (!_loc_6)
				{
					_loc_6 = new SoundEx(param1, this.getSoundVolume(param1));
					this.fSounds_sndex_obj[param1] = _loc_6;
				}
				_loc_6.soundOn = this.soundOn;
				return _loc_6.play(param2, param3, param4, param5);
			}// end function
			
			private function stopSoundIcon() : void
			{
				stopSound(TRACK_ID_MAP_ICON_MUSIC);
				stopSound(TRACK_ID_CANNON_ICON_MUSIC);
				stopSound(TRACK_ID_WORKER_ICON_MUSIC);
				stopSound(TRACK_ID_BARREL_ICON_MUSIC);
				stopSound(TRACK_ID_MAIDEN_ICON_MUSIC);
				stopSound(TRACK_ID_HANDGUN_ICON_MUSIC);
				stopSound(TRACK_ID_COMPASS_ICON_MUSIC);
				stopSound(TRACK_ID_COINS_ICON_MUSIC);
				stopSound(TRACK_ID_CHEST_ICON_MUSIC);
				stopSound(TRACK_ID_SKULL_ICON_MUSIC);
				stopSound(TRACK_ID_CAPTAIN_ICON_MUSIC);
				return;
			}// end function
			
			private function onWinLinePrimaryIconAnimationStarted(event:Event) : void
			{
				var _loc_2:EventDispatcher = null;
				_loc_2 = ReelsDispatcher(event.target).curWinLinePrimaryIconAnimation;
				_loc_2.addEventListener(ReelsDispatcher.EVENT_WIN_LINE_PRIMARY_ICON_ANIMATION_INTERRUPTED, onWinLinePrimaryIconAnimationInterrupted);
				_loc_2.addEventListener(ReelsDispatcher.EVENT_WIN_LINE_PRIMARY_ICON_ANIMATION_COMPLETED, onWinLinePrimaryIconAnimationInterrupted);
				switch(ReelsDispatcher(event.target).curWinLinePrimaryIconId)
				{
					case ReelsDispatcher.ICON_ID_BARREL:
					{
						_loc_2.addEventListener(ReelsDispatcher.EVENT_BARREL_ICON_LIQUID_STARTED, this.onBarrelIconLiquidAnimationStarted);
						this.playSound(TRACK_ID_BARREL_ICON_MUSIC);
						break;
					}
					case ReelsDispatcher.ICON_ID_CANNON:
					{
						_loc_2.addEventListener(ReelsDispatcher.EVENT_CANNON_ICON_CANNON_SHOT, this.onCannonIconCannonShot);
						this.playSound(TRACK_ID_CANNON_ICON_MUSIC);
						break;
					}
					case ReelsDispatcher.ICON_ID_CHEST:
					{
						this.playSound(TRACK_ID_CHEST_ICON_MUSIC);
						_loc_2.addEventListener(ReelsDispatcher.EVENT_WIN_LINE_PRIMARY_ICON_SIZE_DECREASING_STARTED, onChestIconDecreasingStarted);
						this.playSound(TRACK_ID_CHEST_ICON_AMBIENT_FX1);
						break;
					}
					case ReelsDispatcher.ICON_ID_COINS:
					{
						_loc_2.addEventListener(ReelsDispatcher.EVENT_COINS_FALL_ANIMATION_STARTED, this.onCoinsFallAnimationStarted);
						this.playSound(TRACK_ID_COINS_ICON_MUSIC);
						break;
					}
					case ReelsDispatcher.ICON_ID_COMPASS:
					{
						_loc_2.addEventListener(ReelsDispatcher.EVENT_COMPASS_COVER_CLOSED, this.onCompassCoverClosed);
						this.playSound(TRACK_ID_COMPASS_ICON_MUSIC);
						break;
					}
					case ReelsDispatcher.ICON_ID_HANDGUN:
					{
						_loc_2.addEventListener(ReelsDispatcher.EVENT_HANDGUN_FIRE, this.onHandgunFire);
						this.playSound(TRACK_ID_HANDGUN_ICON_MUSIC);
						break;
					}
					case ReelsDispatcher.ICON_ID_MAIDEN:
					{
						_loc_2.addEventListener(ReelsDispatcher.EVENT_ICON_MAIDEN_SIGH_STARTED, this.onMaidenSighStarted);
						this.playSound(TRACK_ID_MAIDEN_ICON_MUSIC);
						break;
					}
					case ReelsDispatcher.ICON_ID_SKULL:
					{
						_loc_2.addEventListener(ReelsDispatcher.EVENT_ICON_SKULL_SPEECH_STARTED, this.onSkullSpeechStarted);
						this.playSound(TRACK_ID_SKULL_ICON_MUSIC);
						break;
					}
					case ReelsDispatcher.ICON_ID_MAP:
					{
						_loc_2.addEventListener(ReelsDispatcher.EVENT_MAP_FINGER_TAP, this.onMapFingerTapped);
						_loc_2.addEventListener(ReelsDispatcher.EVENT_MAP_DAGGER_MOVING_STARTED, this.onMapDaggerMovingStarted);
						_loc_2.addEventListener(ReelsDispatcher.EVENT_MAP_DAGGER_HIT, this.onMapDaggerHit);
						this.playSound(TRACK_ID_MAP_ICON_MUSIC);
						break;
					}
					case ReelsDispatcher.ICON_ID_WORKER:
					{
						_loc_2.addEventListener(ReelsDispatcher.EVENT_ICON_WORKER_BARREL_THUD, this.onIconWorkerBarrelThud);
						_loc_2.addEventListener(ReelsDispatcher.EVENT_ICON_WORKER_SPEECH_STARTED, this.onIconWorkerSpeechStarted);
						this.playSound(TRACK_ID_WORKER_ICON_MUSIC);
						break;
					}
					case ReelsDispatcher.ICON_ID_CAPTAIN:
					{
						_loc_2.addEventListener(ReelsDispatcher.EVENT_ICON_CAPTAIN_VOX_STARTED, this.onIconCaptainVoxStarted);
						this.playSound(TRACK_ID_CAPTAIN_ICON_MUSIC);
						break;
					}
					default:
					{
						break;
					}
				}
				return;
			}// end function
			
			private function initWorkerGrogBonusBGMSoundLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fWorkerGrogBonusBGMSoundLoop_csl)
				{
					return;
				}
				this.fWorkerGrogBonusBGMSoundLoop_csl = new ContiguousSoundLoop();
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_WORKER_GROG_BONUS_BGM_PART1, 0.5, this.getSoundVolume(TRACK_ID_WORKER_GROG_BONUS_BGM_PART1));
				_loc_1.addSound(TRACK_ID_WORKER_GROG_BONUS_BGM_PART2, 0.5, this.getSoundVolume(TRACK_ID_WORKER_GROG_BONUS_BGM_PART2));
				this.fWorkerGrogBonusBGMSoundLoop_csl.addSound(_loc_1);
				this.fWorkerGrogBonusBGMSoundLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onClickMeIconClicked(event:Event) : void
			{
				this.fClickMeIconClickedButNotCollectedYet_bl = true;
				this.onButtonClicked(null);
				return;
			}// end function
			
			private function playAmbientFXSoundLoop() : void
			{
				this.fAmbientFxSoundLoop_sl.start(TRACK_ID_PRIMARY_BG, 0, 1000);
				return;
			}// end function
			
			private function onClickMeIconDraggingStarted(event:Event) : void
			{
				switch(this.fClickMeIconClickedSoundSelectionCriteria_int)
				{
					case 0:
					{
						this.playSound(TRACK_ID_CLICKME_FIRST_ICON_CLICKED);
						break;
					}
					case 1:
					{
						this.playSound(TRACK_ID_CLICKME_SECOND_ICON_CLICKED);
						break;
					}
					case 2:
					{
						this.playSound(TRACK_ID_CLICKME_THIRD_ICON_CLICKED);
						break;
					}
					default:
					{
						break;
					}
				}
				var _loc_2:String = this;
				var _loc_3:* = this.fClickMeIconClickedSoundSelectionCriteria_int + 1;
				_loc_2.fClickMeIconClickedSoundSelectionCriteria_int = _loc_3;
				return;
			}// end function
			
			private function onWildReelCannonFuse(event:Event) : void
			{
				this.playSound(TRACK_ID_WILD_REEL_CANNON_FUSE);
				return;
			}// end function
			
			private function playWorkerGrogBonusCoinSpinningSoundLoop() : void
			{
				trace("SoundController.playWorkerGrogBonusCountingSoundLoop() called");
				if (!this.fWorkerGrogBonusCoinSpinningSoundLoop_csl)
				{
					this.initWorkerGrogBonusCoinSpinningSoundLoop();
				}
				this.fWorkerGrogBonusCoinSpinningSoundLoop_csl.startToPlay(800);
				return;
			}// end function
			
			private function onClickMeBonusStarted(event:Event) : void
			{
				this.stopMainBGMSoundLoop();
				this.fClickMeIconClickedSoundSelectionCriteria_int = 0;
				GameDispatcher(event.target).clickMeBonusController.addEventListener(ReelsDispatcher.EVENT_CLICKME_ICON_PULSING_STARTED, this.onClickMeIconPulsingStarted);
				GameDispatcher(event.target).clickMeBonusController.addEventListener(ReelsDispatcher.EVENT_CLICKME_ICON_CLICKED, this.onClickMeIconClicked);
				GameDispatcher(event.target).addEventListener(ReelsDispatcher.EVENT_CLICKME_COLLECT_WIN_ANIMATION_STARTED, this.onClickMeBonusCollectWinAnimationStarted);
				GameDispatcher(event.target).addEventListener(ReelsDispatcher.EVENT_CLICKME_ICON_DRAGGING_STARTED, this.onClickMeIconDraggingStarted);
				GameDispatcher(event.target).addEventListener(ReelsDispatcher.EVENT_CLICKME_DEPP_FLYING_ANIMATION_COMPLETED, this.onClickMeIconCollected);
				GameDispatcher(event.target).clickMeBonusController.addEventListener(ReelsDispatcher.EVENT_CLICK_ME_BONUS_COMPLETED, this.onClickMeBonusCompleted);
				this.playSound(TRACK_ID_CLICK_ME_BONUS_INTRO);
				this.playSound(TRACK_ID_CLICKME_BONUS_INTRO_MUSIC, 300, 0, 100).addEventListener(SoundChannelEx.EVENT_SEAMLESS_STOP_STARTED, onClickMeIntroMusicCompletionStarted);
				return;
			}// end function
			
			private function onSwordFightBonusIntroPanelHiddingStarted(event:Event) : void
			{
				this.playSwordFightBonusPanelWhooshing();
				return;
			}// end function
			
			private function onWorkerBonusCoinRotationStopped(event:Event) : void
			{
				this.stopWorkerGrogBonusCoinSpinningSoundLoop();
				if (GameDispatcher(event.target).workerGrogBonusPlayerWins)
				{
					this.playSound(TRACK_ID_WORKER_BNS_SPIN_STOPPED_USER_WIN);
				}
				else
				{
					this.playSound(TRACK_ID_WORKER_BNS_SPIN_STOPPED_USER_LOSE);
				}
				return;
			}// end function
			
			private function onSwordFightBonusCaptainTakesAHitByThrust(event:Event) : void
			{
				this.captainPainVox.playSound();
				this.playSound(TRACK_ID_SWORDFIGHT_HIT_BY_THRUST);
				return;
			}// end function
			
			private function onWorkerGrogBonusCountableValueChangingStarted(event:Event) : void
			{
				this.playWorkerGrogBonusCountingSoundLoop();
				return;
			}// end function
			
			private function onStopAllIconMusicLoop(event:Event) : void
			{
				stopSoundIcon();
				if (fMapLoop_csl)
				{
					fMapLoop_csl.stopToPlay();
					fMapLoop_csl = null;
				}
				if (fCannonLoop_csl)
				{
					fCannonLoop_csl.stopToPlay();
					fCannonLoop_csl = null;
				}
				if (fWorkerLoop_csl)
				{
					fWorkerLoop_csl.stopToPlay();
					fWorkerLoop_csl = null;
				}
				if (fBarelLoop_csl)
				{
					fBarelLoop_csl.stopToPlay();
					fBarelLoop_csl = null;
				}
				if (fMaidenLoop_csl)
				{
					fMaidenLoop_csl.stopToPlay();
					fMaidenLoop_csl = null;
				}
				if (fHandgunLoop_csl)
				{
					fHandgunLoop_csl.stopToPlay();
					fHandgunLoop_csl = null;
				}
				if (fCompasLoop_csl)
				{
					fCompasLoop_csl.stopToPlay();
					fCompasLoop_csl = null;
				}
				if (fGoldLoop_csl)
				{
					fGoldLoop_csl.stopToPlay();
					fGoldLoop_csl = null;
				}
				if (fChestLoop_csl)
				{
					fChestLoop_csl.stopToPlay();
					fChestLoop_csl = null;
				}
				if (fSkyllswordLoop_csl)
				{
					fSkyllswordLoop_csl.stopToPlay();
					fSkyllswordLoop_csl = null;
				}
				if (fCaptainLoop_csl)
				{
					fCaptainLoop_csl.stopToPlay();
					fCaptainLoop_csl = null;
				}
				return;
			}// end function
			
			private function stopNonLoopedSounds(param1:Number = 0) : void
			{
				var _loc_2:String = null;
				for (_loc_2 in this.fSounds_sndex_obj)
				{
					
					this.stopSound(_loc_2, param1);
				}
				return;
			}// end function
			
			private function get captainPainVox() : RandomSound
			{
				if (!this.fCaptainPainVox_rs)
				{
					this.initCaptainPainVox();
				}
				return this.fCaptainPainVox_rs;
			}// end function
			
			private function onSwordFightBonusButtonsIntroAnimationStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_SWORDFIGHT_BUTTONS_INTRO);
				return;
			}// end function
			
			private function onGameLoadingStarted(event:Event) : void
			{
				this.playMainBGMSoundLoop();
				this.playSound(TRACK_ID_GAME_INTRO).addEventListener(SoundChannelEx.EVENT_SOUND_CHANNEL_PLAYING_COMPLETED, this.onIntroSoundCompleted);
				return;
			}// end function
			
			private function onSwordFightBonusDeathmatchCompleted(event:Event) : void
			{
				this.ambientFxSoundLoop.applyVolumeGain(0.5, 300);
				return;
			}// end function
			
			private function initSwordFightBonusCaptainBodyFalling() : void
			{
				if (this.fSwordFightBonusCaptainFalling_rs)
				{
					return;
				}
				this.fSwordFightBonusCaptainFalling_rs = new RandomSound();
				this.fSwordFightBonusCaptainFalling_rs.addSound(TRACK_ID_SWORDFIGHT_FINAL_CAPTAIN_BODY_FALLING, 0.4);
				this.fSwordFightBonusCaptainFalling_rs.addSound(TRACK_ID_SWORDFIGHT_FINAL_CAPTAIN_BODY_FALLING_1, 0.3);
				this.fSwordFightBonusCaptainFalling_rs.addSound(TRACK_ID_SWORDFIGHT_FINAL_CAPTAIN_BODY_FALLING_1, 0.3);
				this.fSwordFightBonusCaptainFalling_rs.soundOn = this.soundOn;
				return;
			}// end function
			
			private function get swordFightBonusSwordsClashing() : RandomSound
			{
				if (!this.fSwordFightBonusSwordsClashing_rs)
				{
					this.initSwordFightBonusSwordsClashing();
				}
				return this.fSwordFightBonusSwordsClashing_rs;
			}// end function
			
			private function onSwordFightBonusDoubleFootstep(event:Event) : void
			{
				this.playSound(TRACK_ID_SWORDFIGHT_DOUBLE_FOOTSTEP);
				return;
			}// end function
			
			private function onSpinStarted(event:Event) : void
			{
				this.stopMainBGMSoundLoop();
				this.playSound(TRACK_ID_REELS_SPINNING_STARTED);
				if (!ReelsDispatcher(event.target).freeSpinsBonusInProgress)
				{
					this.playSpinMusic();
				}
				return;
			}// end function
			
			private function onSwordFightBonusLightFootstep(event:Event) : void
			{
				this.swordFightBonusLightFootstep.playSound();
				return;
			}// end function
			
			private function get workerGrogBonusAmbientFxSoundLoop() : SoundLoop
			{
				if (!this.fWorkerGrogAmbientFxSoundLoop_sl)
				{
					this.initWorkerGrogAmbientFXSoundLoop();
				}
				return this.fWorkerGrogAmbientFxSoundLoop_sl;
			}// end function
			
			private function onSwordFightBonusSwordsClashingStarted(event:Event) : void
			{
				this.swordFightBonusSwordsClashing.playSound();
				return;
			}// end function
			
			private function onWinPresentationInterrupted(event:Event) : void
			{
				if (GameDispatcher(event.target).winPresentationPeriod > 1)
				{
					return;
				}
				this.playAmbientFXSoundLoop();
				if (GameDispatcher(event.target).freeSpinsBonusInProgress)
				{
					this.playFreeSpinsBGMSoundLoop();
					return;
				}
				this.playMainBGMSoundLoop();
				return;
			}// end function
			
			private function onBigWinPresentationStarted(event:Event) : void
			{
				GameDispatcher(event.target).addEventListener(BigWin.EVENT_BIG_WIN_PRESENTATION_INTERRUPTED, this.onBigWinPresentationInterrupted);
				GameDispatcher(event.target).addEventListener(BigWin.EVENT_BIG_WIN_COINS_FLOW_INTRO_ANIMATION_STARTED, this.onBigWinCoinsFlowIntroAnimationStarted);
				GameDispatcher(event.target).addEventListener(BigWin.EVENT_BIG_WIN_PANEL_INTRO_ANIMATION_STARTED, this.onBigWinPanelIntroAnimationStarted);
				GameDispatcher(event.target).addEventListener(BigWin.EVENT_BIG_WIN_PANEL_INTRO_ANIMATION_COMPLETED, this.onBigWinPanelIntroAnimationCompleted);
				GameDispatcher(event.target).addEventListener(BigWin.EVENT_BIG_WIN_VALUE_COUNTING_STARTED, this.onBigWinValueCountingStarted);
				GameDispatcher(event.target).addEventListener(BigWin.EVENT_BIG_WIN_VALUE_COUNTING_COMPLETED, this.onBigWinValueCountingCompleted);
				GameDispatcher(event.target).addEventListener(BigWin.EVENT_BIG_WIN_COINS_FLOW_COMPLETE_ANIMATION_STARTED, this.onBigWinCoinsFlowCompleteAnimationStarted);
				GameDispatcher(event.target).addEventListener(BigWin.EVENT_BIG_WIN_PRESENTATION_COMPLETED, this.onBigWinPresentationCompleted);
				this.stopMainBGMSoundLoop();
				this.playSound(TRACK_ID_BIG_WIN_INTRO_MUSIC).addEventListener(SoundChannelEx.EVENT_SOUND_CHANNEL_PLAYING_COMPLETED, this.onBigWinIntroSoundCompleted);
				return;
			}// end function
			
			private function onWildReelCannonTurningCompleted(event:Event) : void
			{
				this.stopSound(TRACK_ID_WILD_REEL_CANNON_TURNING);
				return;
			}// end function
			
			private function playSwordFightBGMMusicLoop() : void
			{
				this.swordFightBGMMusicLoop.startToPlay();
				return;
			}// end function
			
			private function onWorkerLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fWorkerLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_WORKER_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_WORKER_ICON_MUSIC));
				fWorkerLoop_csl.addSound(_loc_2);
				fWorkerLoop_csl.soundOn = this.soundOn;
				fWorkerLoop_csl.startToPlay();
				return;
			}// end function
			
			private function onCannonLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fCannonLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_CANNON_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_CANNON_ICON_MUSIC));
				fCannonLoop_csl.addSound(_loc_2);
				fCannonLoop_csl.soundOn = this.soundOn;
				fCannonLoop_csl.startToPlay();
				return;
			}// end function
			
			private function onWorkerGrogBonusWorkerDrinkingStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_WORKER_DRINKING);
				return;
			}// end function
			
			private function onMaidenLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fMaidenLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_MAIDEN_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_MAIDEN_ICON_MUSIC));
				fMaidenLoop_csl.addSound(_loc_2);
				fMaidenLoop_csl.soundOn = this.soundOn;
				fMaidenLoop_csl.startToPlay();
				return;
			}// end function
			
			public function set soundOn(param1) : void
			{
				var _loc_2:String = null;
				this.fSoundOn_bl = param1;
				this.fAmbientFxSoundLoop_sl.soundOn = this.fSoundOn_bl;
				this.fMainBGMSoundLoop_csl.soundOn = this.fSoundOn_bl;
				if (this.fFreeSpinsBGMSoundLoop_sl)
				{
					this.fFreeSpinsBGMSoundLoop_sl.soundOn = this.fSoundOn_bl;
				}
				if (this.fClickMeBonusMusicLoop_csl)
				{
					this.fClickMeBonusMusicLoop_csl.soundOn = this.fSoundOn_bl;
				}
				var _loc_3:* = this.fSoundOn_bl;
				this.fMainGameSpinMusicLoop_csl.soundOn = this.fSoundOn_bl;
				var _loc_3:* = this.fSoundOn_bl;
				this.fMainGameNewSpinMusicLoop_csl.soundOn = this.fSoundOn_bl;
				var _loc_3:* = this.fSoundOn_bl;
				this.fMainGameNewNewSpinMusicLoop_csl.soundOn = this.fSoundOn_bl;
				if (this.fWorkerGrogBonusCountingSoundLoop_csl)
				{
					this.fWorkerGrogBonusCountingSoundLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (this.fWorkerGrogBonusBGMSoundLoop_csl)
				{
					this.fWorkerGrogBonusBGMSoundLoop_csl.soundOn = this.soundOn;
				}
				if (this.fWorkerGrogBonusCoinSpinningSoundLoop_csl)
				{
					this.fWorkerGrogBonusCoinSpinningSoundLoop_csl.soundOn = this.soundOn;
				}
				if (fMapLoop_csl)
				{
					fMapLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (fCannonLoop_csl)
				{
					fCannonLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (fWorkerLoop_csl)
				{
					fWorkerLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (fBarelLoop_csl)
				{
					fBarelLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (fMaidenLoop_csl)
				{
					fMaidenLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (fHandgunLoop_csl)
				{
					fHandgunLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (fCompasLoop_csl)
				{
					fCompasLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (fGoldLoop_csl)
				{
					fGoldLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (fChestLoop_csl)
				{
					fChestLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (fSkyllswordLoop_csl)
				{
					fSkyllswordLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (fCaptainLoop_csl)
				{
					fCaptainLoop_csl.soundOn = this.fSoundOn_bl;
				}
				if (this.fWorkerGrogBonusFinalWinCountingSoundLoop_csl)
				{
					this.workerGrogBonusFinalWinCountingSoundLoop.soundOn = this.soundOn;
				}
				var _loc_3:* = fSoundOn_bl;
				this.fWorkerGrogAmbientFxSoundLoop_sl.soundOn = fSoundOn_bl;
				if (fBigWinMusicLoop_csl)
				{
					this.fBigWinMusicLoop_csl.soundOn = this.soundOn;
				}
				if (fBigWinValueCountingSoundLoop_csl)
				{
					fBigWinValueCountingSoundLoop_csl.soundOn = this.soundOn;
				}
				if (this.fCaptainPainVox_rs)
				{
					this.captainPainVox.soundOn = this.soundOn;
				}
				if (this.fHeroPainVox_rs)
				{
					this.heroPainVox.soundOn = this.soundOn;
				}
				if (this.fSwordFightBGMSoundLoop_csl)
				{
					this.swordFightBGMMusicLoop.soundOn = this.soundOn;
				}
				if (fSwordFightBonusCaptainFalling_rs)
				{
					this.swordFightBonusCaptainBodyFalling.soundOn = this.soundOn;
				}
				if (fSwordFightBonusFootstep_rs)
				{
					this.swordFightBonusFootstep.soundOn = this.soundOn;
				}
				if (fSwordFightBonusLightFootstep_rs)
				{
					this.swordFightBonusLightFootstep.soundOn = this.soundOn;
				}
				if (fSwordFightBonusSwordSwishing_rs)
				{
					this.swordFightBonusSwordSwishing.soundOn = this.soundOn;
				}
				if (fSwordFightBonusSwordsFleshing_rs)
				{
					this.swordFightSwordsFleshing.soundOn = this.soundOn;
				}
				if (fSwordFightBonusSwordsClashing_rs)
				{
					this.swordFightBonusSwordsClashing.soundOn = this.soundOn;
				}
				for (_loc_2 in this.fSounds_sndex_obj)
				{
					
					SoundEx(this.fSounds_sndex_obj[_loc_2]).soundOn = this.fSoundOn_bl;
				}
				return;
			}// end function
			
			private function onWorkerLooserSpeechStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_WORKER_LOOSER_SPEECH);
				return;
			}// end function
			
			private function onCaptainLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fCaptainLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_CAPTAIN_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_CAPTAIN_ICON_MUSIC));
				fCaptainLoop_csl.addSound(_loc_2);
				fCaptainLoop_csl.soundOn = this.soundOn;
				fCaptainLoop_csl.startToPlay();
				return;
			}// end function
			
			private function onClickMeIconPulsingStarted(event:Event) : void
			{
				var _loc_2:Number = NaN;
				if (this.fClickMeIconPuslsingSoundInProgresss_bl)
				{
					return;
				}
				this.fClickMeIconPuslsingSoundInProgresss_bl = true;
				_loc_2 = this.getSoundVolume(TRACK_ID_CLICKME_ICON_PULSING);
				if (this.fClickMeIconClickedButNotCollectedYet_bl)
				{
					_loc_2 = _loc_2 * 0.5;
				}
				this.playSound(TRACK_ID_CLICKME_ICON_PULSING, 0, 0, 0, _loc_2).addEventListener(SoundChannelEx.EVENT_SOUND_CHANNEL_PLAYING_COMPLETED, this.onClickMeIconPulsingSoundCompleted);
				return;
			}// end function
			
			private function onSwordFightBonusHeroMaidenRightMotionStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_SWORDFIGHT_HERO_MAIDEN_RIGHT_MOTION);
				return;
			}// end function
			
			private function onMaxBetButtonClicked(event:Event) : void
			{
				this.playSound(TRACK_ID_MAX_BET_BUTTON_CLICKED);
				return;
			}// end function
			
			private function stopBigWinMusicLoop(param1:Number = -1) : void
			{
				this.bigWinMusicLoop.stopToPlay(param1);
				return;
			}// end function
			
			private function onMapDaggerMovingStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_MAP_DAGGER_WHIZZ);
				return;
			}// end function
			
			private function onFreeSpinsParrotChatter(event:Event) : void
			{
				var _loc_2:Number = NaN;
				_loc_2 = Math.random();
				if (GameDispatcher.getInstance().freeSpinsRemains == 0)
				{
					if (_loc_2 <= 0.33)
					{
						this.playSound(TRACK_ID_FREE_SPINS_PARROT_CHATTER_LAST_1);
						return;
					}
					if (_loc_2 <= 0.66)
					{
						this.playSound(TRACK_ID_FREE_SPINS_PARROT_CHATTER_LAST_2);
						return;
					}
					if (_loc_2 <= 1)
					{
						this.playSound(TRACK_ID_FREE_SPINS_PARROT_CHATTER_LAST_3);
						return;
					}
				}
				if (_loc_2 <= 0.2)
				{
					this.playSound(TRACK_ID_FREE_SPINS_PARROT_CHATTER_1);
					return;
				}
				if (_loc_2 <= 0.4)
				{
					this.playSound(TRACK_ID_FREE_SPINS_PARROT_CHATTER_2);
					return;
				}
				if (_loc_2 <= 0.6)
				{
					this.playSound(TRACK_ID_FREE_SPINS_PARROT_CHATTER_3);
					return;
				}
				if (_loc_2 <= 0.8)
				{
					this.playSound(TRACK_ID_FREE_SPINS_PARROT_CHATTER_4);
					return;
				}
				if (_loc_2 <= 1)
				{
					this.playSound(TRACK_ID_FREE_SPINS_PARROT_CHATTER_5);
					return;
				}
				return;
			}// end function
			
			private function onSwordFightBonusStumbleFootstep(event:Event) : void
			{
				this.playSound(TRACK_ID_SWORDFIGHT_STUMBLE_FOOTSTEP_1);
				return;
			}// end function
			
			private function onWorkerLooserAnimationStarted(event:Event) : void
			{
				return;
			}// end function
			
			private function onBetPerLineButtonClicked(event:Event) : void
			{
				this.playSound(TRACK_ID_BET_PER_LINE_BUTTON_CLICKED);
				return;
			}// end function
			
			private function onBarelLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fBarelLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_BARREL_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_BARREL_ICON_MUSIC));
				fBarelLoop_csl.addSound(_loc_2);
				fBarelLoop_csl.soundOn = this.soundOn;
				fBarelLoop_csl.startToPlay();
				return;
			}// end function
			
			private function get swordFightBonusSwordSwishing() : RandomSound
			{
				if (!this.fSwordFightBonusSwordSwishing_rs)
				{
					this.initSwordFightBonusSwordSwishing();
				}
				return this.fSwordFightBonusSwordSwishing_rs;
			}// end function
			
			private function onWorkerGrogBonusGlassShakingStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_GLASS_SHAKING);
				return;
			}// end function
			
			private function get mainGameSpinMusicLoop() : ContiguousSoundLoop
			{
				if (!this.fMainGameSpinMusicLoop_csl)
				{
					this.initMainGameSpinMusicLoop();
				}
				return this.fMainGameSpinMusicLoop_csl;
			}// end function
			
			private function onSkyllswordLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fSkyllswordLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_SKULL_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_SKULL_ICON_MUSIC));
				fSkyllswordLoop_csl.addSound(_loc_2);
				fSkyllswordLoop_csl.soundOn = this.soundOn;
				fSkyllswordLoop_csl.startToPlay();
				return;
			}// end function
			
			private function stopBigWinValueCountingMusicLoop(param1:Number = -1) : void
			{
				this.bigWinValueCountingMusicLoop.stopToPlay(param1);
				return;
			}// end function
			
			private function onSwordFightBonusDeathmatchResultPanelShowingStarted(event:Event) : void
			{
				this.playSwordFightBonusPanelWhooshing();
				return;
			}// end function
			
			private function onWorkerGrogBonusFinalWinPanelAnimationCompleted(event:Event) : void
			{
				return;
			}// end function
			
			private function initSwordFightSwordsFleshing() : void
			{
				if (this.fSwordFightBonusSwordsFleshing_rs)
				{
					return;
				}
				this.fSwordFightBonusSwordsFleshing_rs = new RandomSound();
				this.fSwordFightBonusSwordsFleshing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORDS_FLESH_1, 0.3);
				this.fSwordFightBonusSwordsFleshing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORDS_FLESH_1, 0.3);
				this.fSwordFightBonusSwordsFleshing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORDS_FLESH_1, 0.4);
				this.fSwordFightBonusSwordsFleshing_rs.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onFreeSpinsBonusStarted(event:Event) : void
			{
				this.stopMainBGMSoundLoop();
				this.playSound(TRACK_ID_FREE_SPINS_INTRO);
				ReelsDispatcher(event.target).freeSpinsBonusController.addEventListener(ReelsDispatcher.EVENT_PARROT_SPEECH_STARTED, this.onFreeSpinsParrotSpeechStarted);
				ReelsDispatcher(event.target).freeSpinsBonusController.addEventListener(ReelsDispatcher.EVENT_PARROT_FLYING_STARTED, this.onFreeSpinsParrotFlyingStarted);
				ReelsDispatcher(event.target).freeSpinsBonusController.addEventListener(ReelsDispatcher.EVENT_PARROT_WINGBEAT, this.onFreeSpinsParrotWingbeat);
				ReelsDispatcher(event.target).freeSpinsBonusController.addEventListener(ReelsDispatcher.EVENT_FREE_SPINS_BONUS_COMPLETED, this.onFreeSpinsBonusCompleted);
				ReelsDispatcher(event.target).addEventListener(ReelsDispatcher.EVENT_FREE_SPINS_INTRO_ANIMATION_COMPLETED, this.onFreeSpinsIntroAnimationCompleted);
				ReelsDispatcher(event.target).addEventListener(ReelsDispatcher.EVENT_FREE_SPINS_PARROT_CHATTER, this.onFreeSpinsParrotChatter);
				ReelsDispatcher(event.target).addEventListener(ReelsDispatcher.EVENT_FREE_SPINS_COMPLETE_ANIMATION_STARTED, this.onFreeSpinsCompleteAnimationStarted);
				return;
			}// end function
			
			private function onReelSpinStopBounceStarted(event:Event) : void
			{
				switch(ReelsDispatcher(event.target).lastBouncedReelId)
				{
					case 0:
					{
						this.playSound(TRACK_ID_REEL0_SPIN_STOPPED);
						break;
					}
					case 1:
					{
						this.playSound(TRACK_ID_REEL1_SPIN_STOPPED);
						break;
					}
					case 2:
					{
						this.playSound(TRACK_ID_REEL2_SPIN_STOPPED);
						break;
					}
					case 3:
					{
						this.playSound(TRACK_ID_REEL3_SPIN_STOPPED);
						break;
					}
					case 4:
					{
						this.playSound(TRACK_ID_REEL4_SPIN_STOPPED);
						break;
					}
					default:
					{
						break;
					}
				}
				return;
			}// end function
			
			private function onBigWinPresentationInterrupted(event:Event) : void
			{
				this.stopSound(TRACK_ID_BIG_WIN_COINS_FLOW, 0);
				this.stopSound(TRACK_ID_BIG_WIN_PANEL_INTRO_ANIMATION_SOUND, 0);
				this.stopBigWinValueCountingMusicLoop();
				this.stopSound(TRACK_ID_BIG_WIN_INTRO_MUSIC);
				this.stopBigWinMusicLoop();
				this.stopSound(TRACK_ID_BIG_WIN_COMPLETE_MUSIC, 0);
				this.playMainBGMSoundLoop();
				return;
			}// end function
			
			private function onIconCaptainVoxStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_CAPTAIN_ICON_VOX);
				return;
			}// end function
			
			private function get heroPainVox() : RandomSound
			{
				if (!this.fHeroPainVox_rs)
				{
					this.initHeroPainVox();
				}
				return this.fHeroPainVox_rs;
			}// end function
			
			private function onGameStarted(event:Event) : void
			{
				this.playAmbientFXSoundLoop();
				return;
			}// end function
			
			private function onSwordFightBonusFinalWinPanelIncreasingStarted(event:Event) : void
			{
				this.playSwordFightBonusPanelWhooshing();
				return;
			}// end function
			
			private function onReelSpinStopped(event:Event) : void
			{
				this.playSound(TRACK_ID_REEL_SPIN_STOPPED);
				return;
			}// end function
			
			private function onBigWinCoinsFlowIntroAnimationStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_BIG_WIN_COINS_FLOW, 500);
				return;
			}// end function
			
			private function onFreeSpinsParrotFlyingStarted(event:Event) : void
			{
				return;
			}// end function
			
			private function onWorkerGrogBonusPlayerDrinkingStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_PLAYER_DRINKING);
				return;
			}// end function
			
			private function initBigWinValueCountingMusicLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fBigWinValueCountingSoundLoop_csl)
				{
					return;
				}
				this.fBigWinValueCountingSoundLoop_csl = new ContiguousSoundLoop();
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_BIG_WIN_VALUE_COUNTING, 1, this.getSoundVolume(TRACK_ID_BIG_WIN_VALUE_COUNTING));
				this.fBigWinValueCountingSoundLoop_csl.addSound(_loc_1);
				this.fBigWinValueCountingSoundLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onFreeSpinsBonusCompleted(event:Event) : void
			{
				this.playMainBGMSoundLoop();
				return;
			}// end function
			
			private function onWinPresentationCompleted(event:Event) : void
			{
				if (ReelsDispatcher(event.target).winPresentationPeriod > 1)
				{
					return;
				}
				this.playAmbientFXSoundLoop();
				if (ReelsDispatcher(event.target).freeSpinsBonusInProgress)
				{
					this.playFreeSpinsBGMSoundLoop();
					return;
				}
				this.playMainBGMSoundLoop();
				return;
			}// end function
			
			private function get workerGrogBonusFinalWinCountingSoundLoop() : ContiguousSoundLoop
			{
				if (!this.fWorkerGrogBonusFinalWinCountingSoundLoop_csl)
				{
					this.initWorkerGrogBonusFinalWinCountingSoundLoop();
				}
				return this.fWorkerGrogBonusFinalWinCountingSoundLoop_csl;
			}// end function
			
			private function stopSwordFightBGMMusicLoop() : void
			{
				this.swordFightBGMMusicLoop.stopToPlay(300);
				return;
			}// end function
			
			private function onWorkerGrogBonusWorkerIntroSecondSpeechStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_WORKER_INTRO1_SPEECH);
				return;
			}// end function
			
			private function stopIconsAnimationsRelatedSounds() : void
			{
				var _loc_1:Number = NaN;
				_loc_1 = 100;
				this.stopSound(TRACK_ID_BARREL_ICON_MUSIC, _loc_1);
				this.stopSound(TRACK_ID_BARREL_LIQUID, _loc_1);
				this.stopSound(TRACK_ID_CHEST_ICON_MUSIC, _loc_1);
				this.stopSound(TRACK_ID_CHEST_ICON_AMBIENT_FX1, _loc_1);
				this.stopSound(TRACK_ID_MAP_ICON_MUSIC, _loc_1);
				this.stopSound(TRACK_ID_MAP_DAGGER_HIT, _loc_1);
				this.stopSound(TRACK_ID_MAP_FINGER_TAP, _loc_1);
				this.stopSound(TRACK_ID_MAP_DAGGER_WHIZZ, _loc_1);
				this.stopSound(TRACK_ID_MAIDEN_ICON_MUSIC, _loc_1);
				this.stopSound(TRACK_ID_MAIDEN_ICON_SIGH, _loc_1);
				this.stopSound(TRACK_ID_HANDGUN_ICON_MUSIC, _loc_1);
				this.stopSound(TRACK_ID_HANDGUN_FIRE, _loc_1);
				this.stopSound(TRACK_ID_SKULL_ICON_MUSIC, _loc_1);
				this.stopSound(TRACK_ID_SKULL_ICON_SPEECH, _loc_1);
				this.stopSound(TRACK_ID_COINS_ICON_MUSIC, _loc_1);
				this.stopSound(TRACK_ID_COINS_CLATTER, _loc_1);
				this.stopSound(TRACK_ID_CANNON_ICON_MUSIC, _loc_1);
				this.stopSound(TRACK_ID_CANNON_ICON_CANNON_SHOT, _loc_1);
				this.stopSound(TRACK_ID_COMPASS_ICON_MUSIC, _loc_1);
				this.stopSound(TRACK_ID_COMPASS_LATCH, _loc_1);
				this.stopSound(TRACK_ID_CAPTAIN_ICON_MUSIC, _loc_1);
				this.stopSound(TRACK_ID_CAPTAIN_ICON_VOX, _loc_1);
				return;
			}// end function
			
			private function onWorkerWinnerAnimationThirdHit(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_WINNER_THIRD_HIT);
				return;
			}// end function
			
			private function stopWorkerGrogBonusCountingSoundLoop() : void
			{
				if (!this.fWorkerGrogBonusCountingSoundLoop_csl)
				{
					return;
				}
				this.fWorkerGrogBonusCountingSoundLoop_csl.stopToPlay();
				return;
			}// end function
			
			private function onSwordFightBonusCompleted(event:Event) : void
			{
				this.stopSwordFightBGMMusicLoop();
				this.playMainBGMSoundLoop();
				this.ambientFxSoundLoop.applyVolumeGain(2, 300);
				return;
			}// end function
			
			private function stopMainBGMSoundLoop() : void
			{
				this.fMainBGMSoundLoop_csl.stopToPlay();
				return;
			}// end function
			
			private function onSwordFightBonusHeroTakesAHitBySlash(event:Event) : void
			{
				this.heroPainVox.playSound();
				this.playSound(TRACK_ID_SWORDFIGHT_HIT_BY_SLASH);
				return;
			}// end function
			
			private function onHandgunFire(event:Event) : void
			{
				this.playSound(TRACK_ID_HANDGUN_FIRE);
				return;
			}// end function
			
			private function onSwordFightBonusButtonPulsingStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_SWORDFIGHT_BUTTON_PULSING);
				return;
			}// end function
			
			private function onWorkerWinnerAnimationFirstHit(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_WINNER_FIRST_HIT);
				this.playSound(TRACK_ID_WORKER_WINNER_FIRST_HIT_CLATTER);
				return;
			}// end function
			
			private function onWorkerGrogBonusCompleted(event:Event) : void
			{
				this.stopWorkerGrogBonusBGMSoundLoop();
				this.stopWorkerGrogAmbientFXSoundLoop();
				this.playMainBGMSoundLoop();
				this.playAmbientFXSoundLoop();
				return;
			}// end function
			
			private function onSelectLinesButtonClicked(event:Event) : void
			{
				this.playSound(TRACK_ID_SELECT_LINES_BUTTON_CLICKED);
				return;
			}// end function
			
			private function onMapFingerTapped(event:Event) : void
			{
				this.playSound(TRACK_ID_MAP_FINGER_TAP);
				return;
			}// end function
			
			private function playBigWinValueCountingMusicLoop() : void
			{
				this.bigWinValueCountingMusicLoop.startToPlay();
				return;
			}// end function
			
			private function onButtonClicked(event:Event) : void
			{
				this.playSound(TRACK_ID_BUTTON_CLICKED);
				return;
			}// end function
			
			private function onCoinClicked(event:Event) : void
			{
				this.playSound(TRACK_ID_COIN_CLICKED);
				this.onButtonClicked(null);
				return;
			}// end function
			
			private function onBigWinValueCountingStarted(event:Event) : void
			{
				this.playBigWinValueCountingMusicLoop();
				return;
			}// end function
			
			private function onMaidenSighStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_MAIDEN_ICON_SIGH);
				return;
			}// end function
			
			private function get mainGameNewNewSpinMusicLoop() : ContiguousSoundLoop
			{
				if (!this.fMainGameNewNewSpinMusicLoop_csl)
				{
					this.initMainGameNewNewSpinMusicLoop();
				}
				return this.fMainGameNewNewSpinMusicLoop_csl;
			}// end function
			
			private function initSwordFightBonusFootstep() : void
			{
				if (this.fSwordFightBonusFootstep_rs)
				{
					return;
				}
				this.fSwordFightBonusFootstep_rs = new RandomSound();
				this.fSwordFightBonusFootstep_rs.addSound(TRACK_ID_SWORDFIGHT_FOOTSTEP_1, 0.2);
				this.fSwordFightBonusFootstep_rs.addSound(TRACK_ID_SWORDFIGHT_FOOTSTEP_2, 0.2);
				this.fSwordFightBonusFootstep_rs.addSound(TRACK_ID_SWORDFIGHT_FOOTSTEP_3, 0.2);
				this.fSwordFightBonusFootstep_rs.addSound(TRACK_ID_SWORDFIGHT_FOOTSTEP_4, 0.4);
				this.fSwordFightBonusFootstep_rs.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onBigWinValueCountingCompleted(event:Event) : void
			{
				this.stopBigWinValueCountingMusicLoop();
				this.stopBigWinMusicLoop(300);
				this.playSound(TRACK_ID_BIG_WIN_COMPLETE_MUSIC, 300);
				return;
			}// end function
			
			private function onSwordFightBonusDeathmatchStarted(event:Event) : void
			{
				this.ambientFxSoundLoop.applyVolumeGain(2, 300);
				return;
			}// end function
			
			private function get swordFightBonusLightFootstep() : RandomSound
			{
				if (!this.fSwordFightBonusLightFootstep_rs)
				{
					this.initSwordFightBonusLightFootstep();
				}
				return this.fSwordFightBonusLightFootstep_rs;
			}// end function
			
			private function onWildReelBonusStarted(event:Event) : void
			{
				this.stopMainBGMSoundLoop();
				this.playSound(TRACK_ID_WILD_REEL_INTRO);
				ReelsDispatcher(event.target).wildReelController.addEventListener(ReelsDispatcher.EVENT_WILD_REEL_BONUS_INTRO_COMPLETED, this.onWildReelBonusIntroCompleted);
				ReelsDispatcher(event.target).wildReelController.addEventListener(ReelsDispatcher.EVENT_WILD_REEL_DOCKWORKER_FOOTSTEP, this.onWildReelDockworkerFootstep);
				ReelsDispatcher(event.target).wildReelController.addEventListener(ReelsDispatcher.EVENT_WILD_REEL_FIRST_SHOT, this.onWildReelFirstCannonShot);
				ReelsDispatcher(event.target).wildReelController.addEventListener(ReelsDispatcher.EVENT_WILD_REEL_SECOND_SHOT, this.onWildReelSecondCannonShot);
				ReelsDispatcher(event.target).wildReelController.addEventListener(ReelsDispatcher.EVENT_WILD_REEL_CANNON_FUSE_STARTED, this.onWildReelCannonFuse);
				ReelsDispatcher(event.target).wildReelController.addEventListener(ReelsDispatcher.EVENT_WILD_REEL_CANNON_TURNING_STARTED, this.onWildReelCannonTurningStarted);
				ReelsDispatcher(event.target).addEventListener(ReelsDispatcher.EVENT_WILD_REEL_CANNON_TURNING_COMPLETED, this.onWildReelCannonTurningCompleted);
				ReelsDispatcher(event.target).wildReelController.addEventListener(ReelsDispatcher.EVENT_WILD_REEL_DOCKWORKER_SPEECH_STARTED, this.onWildReelDockworkerSpeech);
				ReelsDispatcher(event.target).wildReelController.addEventListener(ReelsDispatcher.EVENT_WILD_REEL_PANEL_BROKING_STARTED, this.onWildReelBroken);
				ReelsDispatcher(event.target).wildReelController.addEventListener(ReelsDispatcher.EVENT_WILD_REEL_PANEL_MOVING_STARTED, this.onWildReelPanelDraggingStarted);
				return;
			}// end function
			
			private function onCompasLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fCompasLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_COMPASS_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_COMPASS_ICON_MUSIC));
				fCompasLoop_csl.addSound(_loc_2);
				fCompasLoop_csl.soundOn = this.soundOn;
				fCompasLoop_csl.startToPlay();
				return;
			}// end function
			
			private function get bigWinMusicLoop() : ContiguousSoundLoop
			{
				if (!this.fBigWinMusicLoop_csl)
				{
					this.initBigWinMusicLoop();
				}
				return this.fBigWinMusicLoop_csl;
			}// end function
			
			private function stopToPlaySpinMusic() : void
			{
				this.mainGameSpinMusicLoop.stopToPlay(300);
				this.mainGameNewSpinMusicLoop.stopToPlay(300);
				this.mainGameNewNewSpinMusicLoop.stopToPlay(300);
				return;
			}// end function
			
			private function onSwordFightBonusFinalWinValueCountingCompleted(event:Event) : void
			{
				this.stopBigWinValueCountingMusicLoop();
				this.stopSwordFightBGMMusicLoop();
				this.playSound(TRACK_ID_SWORDFIGHT_FINISHER);
				return;
			}// end function
			
			private function onWorkerGruntStarted(event:Event) : void
			{
				if (Math.random() <= 0.5)
				{
					this.playSound(TRACK_ID_WORKER_BONUS_WORKER_GRUNTS);
					this.fWorkerBonusArrrSoundRequired_bl = true;
				}
				else
				{
					this.playSound(TRACK_ID_WORKER_BONUS_WORKER_ARR_AGAIN_VC);
					this.fWorkerBonusArrrSoundRequired_bl = false;
				}
				return;
			}// end function
			
			public function init() : void
			{
				this.initAmbientFXSoundLoop();
				this.initMainBGMSoundLoop();
				return;
			}// end function
			
			private function onSkullSpeechStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_SKULL_ICON_SPEECH);
				return;
			}// end function
			
			private function initMainGameNewSpinMusicLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fMainGameNewSpinMusicLoop_csl)
				{
					return;
				}
				this.fMainGameNewSpinMusicLoop_csl = new ContiguousSoundLoop();
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_NEW_SPIN_MUSIC, 1, this.getSoundVolume(TRACK_ID_NEW_SPIN_MUSIC));
				this.fMainGameNewSpinMusicLoop_csl.addSound(_loc_1);
				this.fMainGameNewSpinMusicLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onFreeSpinsParrotSpeechStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_FREE_SPINS_PARROT_VOICE);
				return;
			}// end function
			
			private function onWorkerGrogBonusCountableValueChangingCompleted(event:Event) : void
			{
				this.stopWorkerGrogBonusCountingSoundLoop();
				return;
			}// end function
			
			private function onBigWinPanelIntroAnimationStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_BIG_WIN_PANEL_INTRO_ANIMATION_SOUND);
				return;
			}// end function
			
			private function onWorkerBonusCoinRotationStarted(event:Event) : void
			{
				this.playWorkerGrogBonusCoinSpinningSoundLoop();
				return;
			}// end function
			
			private function onIntroSoundCompleted(event:Event) : void
			{
				trace("SoundController.onIntroSoundCompleted() called");
				this.dispatchEvent(new Event(EVENT_GAME_INTRO_SOUND_COMPLETED));
				return;
			}// end function
			
			private function onMapDaggerHit(event:Event) : void
			{
				this.playSound(TRACK_ID_MAP_DAGGER_HIT);
				return;
			}// end function
			
			private function onWorkerGrogBonusPanelMovingStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_PANEL_SLIDING);
				return;
			}// end function
			
			private function onSwordFightBonusSwordSwishingStarted(event:Event) : void
			{
				this.swordFightBonusSwordSwishing.playSound();
				return;
			}// end function
			
			private function onBigWinPanelIntroAnimationCompleted(event:Event) : void
			{
				this.stopSound(TRACK_ID_BIG_WIN_PANEL_INTRO_ANIMATION_SOUND, 100);
				return;
			}// end function
			
			private function onSwordFightBonusFinalWinValueCountingStarted(event:Event) : void
			{
				this.playBigWinValueCountingMusicLoop();
				return;
			}// end function
			
			private function onSwordFightBonusRopesCuttingStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_SWORDFIGHT_ROPES_CUTTING);
				return;
			}// end function
			
			private function initAmbientFXSoundLoop() : void
			{
				var _loc_1:SoundEx = null;
				if (this.fAmbientFxSoundLoop_sl)
				{
					return;
				}
				this.fAmbientFxSoundLoop_sl = new SoundLoop();
				_loc_1 = this.fAmbientFxSoundLoop_sl.addSound(TRACK_ID_PRIMARY_BG, 0.9, this.getSoundVolume(TRACK_ID_PRIMARY_BG));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_ASSET_1, 0.05, this.getSoundVolume(TRACK_ID_PRIMARY_BG_ASSET_1));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_ASSET_2, 0.05, this.getSoundVolume(TRACK_ID_PRIMARY_BG_ASSET_2));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_ASSET_3, 0.05, this.getSoundVolume(TRACK_ID_PRIMARY_BG_ASSET_3));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_ASSET_4, 0.05, this.getSoundVolume(TRACK_ID_PRIMARY_BG_ASSET_4));
				_loc_1 = this.fAmbientFxSoundLoop_sl.addSound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_1, 0.05, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_1));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_1, 0.1, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_1));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_2, 0.1, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_2));
				_loc_1 = this.fAmbientFxSoundLoop_sl.addSound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_2, 0.05, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_2));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_1, 0.1, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_1));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_2, 0.1, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_2));
				return;
			}// end function
			
			private function playBigWinMusicLoop() : void
			{
				this.bigWinMusicLoop.startToPlay();
				return;
			}// end function
			
			private function onWinLinePrimaryIconAnimationInterrupted(event:Event) : void
			{
				this.stopIconsAnimationsRelatedSounds();
				return;
			}// end function
			
			private function onSwordFightBonusHeroTakesAHitByThrust(event:Event) : void
			{
				this.heroPainVox.playSound();
				this.playSound(TRACK_ID_SWORDFIGHT_HIT_BY_THRUST);
				return;
			}// end function
			
			private function initFreeSpinsBGMSoundLoop() : void
			{
				if (this.fFreeSpinsBGMSoundLoop_sl)
				{
					return;
				}
				this.fFreeSpinsBGMSoundLoop_sl = new SoundLoop();
				this.fFreeSpinsBGMSoundLoop_sl.addSound(TRACK_ID_FREE_SPINS_SPINNING_MUSIC, 1, this.getSoundVolume(TRACK_ID_FREE_SPINS_SPINNING_MUSIC));
				this.fFreeSpinsBGMSoundLoop_sl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onMapLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fMapLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_MAP_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_MAP_ICON_MUSIC));
				fMapLoop_csl.addSound(_loc_2);
				fMapLoop_csl.soundOn = this.soundOn;
				fMapLoop_csl.startToPlay();
				return;
			}// end function
			
			private function onSwordFightBonusBlockTurningStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_SWORDFIGHT_BLOCK_TURNING);
				return;
			}// end function
			
			public function get soundOn() : Boolean
			{
				return this.fSoundOn_bl;
			}// end function
			
			public function setReelsController(param1:ReelsDispatcher) : void
			{
				param1.addEventListener(ReelsDispatcher.EVENT_SPIN_STARTED, this.onSpinStarted);
				param1.addEventListener(ReelsDispatcher.EVENT_SPIN_STOPPED, this.onSpinStopped);
				param1.addEventListener(ReelsDispatcher.EVENT_REEL_SPIN_STOPPED, this.onReelSpinStopped);
				param1.addEventListener(ReelsDispatcher.EVENT_REEL_SPIN_STOP_BOUNCE_STARTED, this.onReelSpinStopBounceStarted);
				param1.addEventListener(ReelsDispatcher.EVENT_WIN_PRESENTATION_COMPLETED, this.onWinPresentationCompleted);
				param1.addEventListener(ReelsDispatcher.EVENT_WIN_PRESENTATION_STARTED, this.onWinPresentationStarted);
				param1.addEventListener(ReelsDispatcher.EVENT_WIN_LINE_PRIMARY_ICON_ANIMATION_STARTED, this.onWinLinePrimaryIconAnimationStarted);
				param1.addEventListener(ReelsDispatcher.EVENT_FREE_SPINS_BONUS_STARTED, this.onFreeSpinsBonusStarted);
				param1.addEventListener(ReelsDispatcher.EVENT_WILD_REEL_BONUS_STARTED, this.onWildReelBonusStarted);
				param1.addEventListener(ReelsDispatcher.EVENT_MAP_LOOP, this.onMapLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_CANNON_LOOP, this.onCannonLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_WORKER_LOOP, this.onWorkerLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_BAREL_LOOP, this.onBarelLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_MAIDEN_LOOP, this.onMaidenLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_HANDGUN_LOOP, this.onHandgunLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_COMPAS_LOOP, this.onCompasLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_GOLD_LOOP, this.onGoldLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_CHEST_LOOP, this.onChestLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_SKYLLSWORD_LOOP, this.onSkyllswordLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_CAPTAIN_LOOP, this.onCaptainLoop);
				param1.addEventListener(ReelsDispatcher.EVENT_STOP_ALL_ICON_MUSIC_LOOP, this.onStopAllIconMusicLoop);
				return;
			}// end function
			
			private function onSpinButtonClicked(event:Event) : void
			{
				this.playSound(TRACK_ID_SPIN_BUTTON_CLICKED);
				return;
			}// end function
			
			private function onWildReelSecondCannonShot(event:Event) : void
			{
				this.playSound(TRACK_ID_WILD_REEL_SECOND_CANNON_SHOT);
				return;
			}// end function
			
			private function onSwordFightBonusFootstep(event:Event) : void
			{
				this.swordFightBonusFootstep.playSound();
				return;
			}// end function
			
			private function onClickMeIconPulsingSoundCompleted(event:Event) : void
			{
				this.fClickMeIconPuslsingSoundInProgresss_bl = false;
				return;
			}// end function
			
			public function getSound() : Boolean
			{
				return this.fSoundOn_bl;
			}// end function
			
			private function onHandgunLoop(event:Event) : void
			{
				var _loc_2:RandomSound = null;
				onStopAllIconMusicLoop(event);
				this.fHandgunLoop_csl = new ContiguousSoundLoop();
				_loc_2 = new RandomSound();
				_loc_2.addSound(TRACK_ID_HANDGUN_ICON_MUSIC, 1, this.getSoundVolume(TRACK_ID_HANDGUN_ICON_MUSIC));
				fHandgunLoop_csl.addSound(_loc_2);
				fHandgunLoop_csl.soundOn = this.soundOn;
				fHandgunLoop_csl.startToPlay();
				return;
			}// end function
			
			private function onWorkerWinnerAnimationSecondHit(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_WINNER_SECOND_HIT);
				return;
			}// end function
			
			private function onWorkerWinnerAnimationStarted(event:Event) : void
			{
				return;
			}// end function
			
			private function onWinPresentationStarted(event:Event) : void
			{
				if (ReelsDispatcher(event.target).winPresentationPeriod == 1)
				{
					this.stopFreeSpinsBGMSoundLoop();
					this.stopMainBGMSoundLoop();
					this.stopAmbientFXSoundLoop();
				}
				return;
			}// end function
			
			private function initSwordFightBGMMusicLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fSwordFightBGMSoundLoop_csl)
				{
					return;
				}
				this.fSwordFightBGMSoundLoop_csl = new ContiguousSoundLoop();
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_SWORDFIGHT_BGM_PART_1, 0.5);
				_loc_1.addSound(TRACK_ID_SWORDFIGHT_BGM_PART_2, 0.5);
				this.fSwordFightBGMSoundLoop_csl.addSound(_loc_1);
				this.fSwordFightBGMSoundLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onWorkerGrogBonusStarted(event:Event) : void
			{
				this.stopMainBGMSoundLoop();
				this.stopAmbientFXSoundLoop();
				this.playWorkerGrogAmbientFXSoundLoop();
				this.playWorkerGrogBonusBGMSoundLoop();
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_COMPLETED, this.onWorkerGrogBonusCompleted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_COUNTABLE_VALUE_CHANGING_STARTED, this.onWorkerGrogBonusCountableValueChangingStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_COUNTABLE_VALUE_CHANGING_COMPLETED, this.onWorkerGrogBonusCountableValueChangingCompleted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_LOOSER_ANIMATION_STARTED, this.onWorkerLooserAnimationStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_LOOSER_SPEECH_STARTED, this.onWorkerLooserSpeechStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_WINNER_ANIMATION_STARTED, this.onWorkerWinnerAnimationStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_COIN_ROTATION_STARTED, this.onWorkerBonusCoinRotationStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_COIN_ROTATION_STOPPED, this.onWorkerBonusCoinRotationStopped);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_FINAL_WIN_PANEL_ANIMATION_COMPLETED, this.onWorkerGrogBonusFinalWinPanelAnimationCompleted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_PLAYER_DRINKING_STARTED, this.onWorkerGrogBonusPlayerDrinkingStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_WORKER_DRINKING_STARTED, this.onWorkerGrogBonusWorkerDrinkingStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_GLASS_PLACED_ON_THE_TABLE, this.onWorkerGrogBonusGlassPlacedOnTheTable);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_GLASS_SHAKING_STARTED, this.onWorkerGrogBonusGlassShakingStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_WORKER_POUNDS_THE_TABLE, this.onWorkerPoundsTheTable);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_PLAYER_POUNDS_THE_TABLE, this.onPlayerPoundsTheTable);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_WORKER_INTRO_SPEECH_STARTED, this.onWorkerGrogBonusWorkerIntroSpeechStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_WORKER_INTRO_SECOND_SPEECH_STARTED, this.onWorkerGrogBonusWorkerIntroSecondSpeechStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_PANEL_MOVING_STARTED, this.onWorkerGrogBonusPanelMovingStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_WINNER_FINAL_LAUGH_STARTED, this.onWorkerLaughStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_WINNER_ANIMATION_FIRST_HIT, this.onWorkerWinnerAnimationFirstHit);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_WINNER_ANIMATION_SECOND_HIT, this.onWorkerWinnerAnimationSecondHit);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_WINNER_ANIMATION_THIRD_HIT, this.onWorkerWinnerAnimationThirdHit);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_HEAD_SELECTED_BY_USER, this.onButtonClicked);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_TAIL_SELECTED_BY_USER, this.onButtonClicked);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_SEAGULL_APPEARED, this.onWorkerBonusSeagullAppeared);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_WORKER_DRINKING_GRUNT_VOICE_STARTED, this.onWorkerGruntStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_BONUS_WORKER_DRINKING_ARRR_VOICE_STARTED, this.onWorkerArrrVoiceStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_GROG_BONUS_FINAL_WIN_COUNTING_STARTED, this.onWorkerGrogBonusFinalWinCountingStarted);
				GameDispatcher(event.target).addEventListener(WorkerGrogBonusController.EVENT_WORKER_GROG_BONUS_FINAL_WIN_COUNTING_COMPLETED, this.onWorkerGrogBonusFinalWinCountingCompleted);
				return;
			}// end function
			
			private function onChestIconDecreasingStarted(event:Event) : void
			{
				this.stopSound(TRACK_ID_CHEST_ICON_AMBIENT_FX1, 500);
				return;
			}// end function
			
			private function onSkipIntroSoundCommand(event:Event) : void
			{
				this.stopSound(TRACK_ID_GAME_INTRO);
				this.onIntroSoundCompleted(null);
				return;
			}// end function
			
			private function initSwordFightBonusSwordsClashing() : void
			{
				if (this.fSwordFightBonusSwordsClashing_rs)
				{
					return;
				}
				this.fSwordFightBonusSwordsClashing_rs = new RandomSound();
				this.fSwordFightBonusSwordsClashing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORDS_CLASH_1, 0.25);
				this.fSwordFightBonusSwordsClashing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORDS_CLASH_2, 0.25);
				this.fSwordFightBonusSwordsClashing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORDS_CLASH_3, 0.25);
				this.fSwordFightBonusSwordsClashing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORDS_CLASH_4, 0.25);
				this.fSwordFightBonusSwordsClashing_rs.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onWildReelCannonTurningStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WILD_REEL_CANNON_TURNING);
				return;
			}// end function
			
			private function initMainGameSpinMusicLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fMainGameSpinMusicLoop_csl)
				{
					return;
				}
				this.fMainGameSpinMusicLoop_csl = new ContiguousSoundLoop();
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_SPIN_MUSIC, 0.33, this.getSoundVolume(TRACK_ID_SPIN_MUSIC), 5000);
				_loc_1.addSound(TRACK_ID_SPIN_MUSIC, 0.33, this.getSoundVolume(TRACK_ID_SPIN_MUSIC), 9000);
				_loc_1.addSound(TRACK_ID_SPIN_MUSIC, 0.34, this.getSoundVolume(TRACK_ID_SPIN_MUSIC), 14000);
				this.fMainGameSpinMusicLoop_csl.addIntroSound(_loc_1);
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_SPIN_MUSIC, 1, this.getSoundVolume(TRACK_ID_SPIN_MUSIC));
				this.fMainGameSpinMusicLoop_csl.addSound(_loc_1);
				this.fMainGameSpinMusicLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function stopFreeSpinsBGMSoundLoop(param1:Number = 0) : void
			{
				if (!this.fFreeSpinsBGMSoundLoop_sl)
				{
					return;
				}
				this.fFreeSpinsBGMSoundLoop_sl.stop(param1);
				return;
			}// end function
			
			private function onWorkerGrogBonusWorkerIntroSpeechStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_WORKER_INTRO_SPEECH);
				return;
			}// end function
			
			private function onFreeSpinsIntroAnimationCompleted(event:Event) : void
			{
				this.playFreeSpinsBGMSoundLoop();
				return;
			}// end function
			
			private function initCaptainPainVox() : void
			{
				if (this.fCaptainPainVox_rs)
				{
					return;
				}
				this.fCaptainPainVox_rs = new RandomSound();
				this.fCaptainPainVox_rs.addSound(TRACK_ID_SWORDFIGHT_CAPTAIN_PAIN_VOX_1, 0.2);
				this.fCaptainPainVox_rs.addSound(TRACK_ID_SWORDFIGHT_CAPTAIN_PAIN_VOX_2, 0.2);
				this.fCaptainPainVox_rs.addSound(TRACK_ID_SWORDFIGHT_CAPTAIN_PAIN_VOX_3, 0.2);
				this.fCaptainPainVox_rs.addSound(TRACK_ID_SWORDFIGHT_CAPTAIN_PAIN_VOX_4, 0.2);
				this.fCaptainPainVox_rs.addSound(TRACK_ID_SWORDFIGHT_CAPTAIN_PAIN_VOX_5, 0.2);
				this.fCaptainPainVox_rs.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onBigWinPresentationCompleted(event:Event) : void
			{
				this.playMainBGMSoundLoop();
				return;
			}// end function
			
			private function get swordFightSwordsFleshing() : RandomSound
			{
				if (!this.fSwordFightBonusSwordsFleshing_rs)
				{
					this.initSwordFightSwordsFleshing();
				}
				return this.fSwordFightBonusSwordsFleshing_rs;
			}// end function
			
			private function startToPlayClickMeBonusMusicLoop() : void
			{
				if (!this.fClickMeBonusMusicLoop_csl)
				{
					this.initClickMeSoundLoop();
				}
				this.fClickMeBonusMusicLoop_csl.startToPlay(0);
				return;
			}// end function
			
			private function onWorkerLaughStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_WORKER_LAUGH);
				return;
			}// end function
			
			private function onWorkerBonusSeagullAppeared(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_SEAGULL_CRY);
				return;
			}// end function
			
			private function get bigWinValueCountingMusicLoop() : ContiguousSoundLoop
			{
				if (!this.fBigWinValueCountingSoundLoop_csl)
				{
					this.initBigWinValueCountingMusicLoop();
				}
				return this.fBigWinValueCountingSoundLoop_csl;
			}// end function
			
			private function playFreeSpinsBGMSoundLoop() : void
			{
				if (!this.fFreeSpinsBGMSoundLoop_sl)
				{
					this.initFreeSpinsBGMSoundLoop();
				}
				this.fFreeSpinsBGMSoundLoop_sl.start();
				return;
			}// end function
			
			private function initHeroPainVox() : void
			{
				if (this.fHeroPainVox_rs)
				{
					return;
				}
				this.fHeroPainVox_rs = new RandomSound();
				this.fHeroPainVox_rs.addSound(TRACK_ID_SWORDFIGHT_HERO_PAIN_VOX_1, 0.3);
				this.fHeroPainVox_rs.addSound(TRACK_ID_SWORDFIGHT_HERO_PAIN_VOX_3, 0.3);
				this.fHeroPainVox_rs.addSound(TRACK_ID_SWORDFIGHT_HERO_PAIN_VOX_4, 0.3);
				this.fHeroPainVox_rs.addSound(TRACK_ID_SWORDFIGHT_HERO_PAIN_VOX_5, 0.1);
				this.fHeroPainVox_rs.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onSwordFightBonusPirateFallen(event:Event) : void
			{
				this.swordFightBonusCaptainBodyFalling.playSound();
				return;
			}// end function
			
			private function stopAmbientFXSoundLoop() : void
			{
				this.fAmbientFxSoundLoop_sl.stop(1000);
				return;
			}// end function
			
			private function onClickMeBonusCompleted(event:Event) : void
			{
				this.playMainBGMSoundLoop();
				return;
			}// end function
			
			private function stopWorkerGrogAmbientFXSoundLoop() : void
			{
				this.workerGrogBonusAmbientFxSoundLoop.stop(1000);
				return;
			}// end function
			
			private function onClickMeBonusCollectWinAnimationStarted(event:Event) : void
			{
				this.stopToPlayClickMeBonusMusicLoop();
				this.playSound(TRACK_ID_CLICKME_BONUS_COLLECT_MUSIC, 500, 0, 500);
				return;
			}// end function
			
			private function onWorkerGrogBonusGlassPlacedOnTheTable(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_BONUS_GLASS_PLACED);
				return;
			}// end function
			
			private function onWildReelBroken(event:Event) : void
			{
				this.playSound(TRACK_ID_WILD_REEL_DEBRIS);
				return;
			}// end function
			
			{
				var _loc_1:SoundEx = null;
				this.fWorkerGrogAmbientFxSoundLoop_sl = new SoundLoop();
			private function initWorkerGrogAmbientFXSoundLoop() : void
				_loc_1 = this.fWorkerGrogAmbientFxSoundLoop_sl.addSound(TRACK_ID_PRIMARY_BG, 0.9, this.getSoundVolume(TRACK_ID_PRIMARY_BG));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_ASSET_1, 0.05, this.getSoundVolume(TRACK_ID_PRIMARY_BG_ASSET_1));
				_loc_1 = this.fWorkerGrogAmbientFxSoundLoop_sl.addSound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_1, 0.05, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_1));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_1, 0.1, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_1));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_2, 0.1, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_2));
				_loc_1 = this.fWorkerGrogAmbientFxSoundLoop_sl.addSound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_2, 0.05, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_2));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_1, 0.1, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_1));
				_loc_1.addRandomAuxiliarySound(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_2, 0.1, this.getSoundVolume(TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_2));
				this.fWorkerGrogAmbientFxSoundLoop_sl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function playWorkerGrogBonusBGMSoundLoop() : void
			{
				if (!this.fWorkerGrogBonusBGMSoundLoop_csl)
				{
					this.initWorkerGrogBonusBGMSoundLoop();
				}
				this.fWorkerGrogBonusBGMSoundLoop_csl.startToPlay();
				return;
			}// end function
			
			private function onSwordFightBonusCaptainTakesAHitBySlash(event:Event) : void
			{
				this.captainPainVox.playSound();
				this.playSound(TRACK_ID_SWORDFIGHT_HIT_BY_SLASH);
				return;
			}// end function
			
			private function get swordFightBonusCaptainBodyFalling() : RandomSound
			{
				if (!this.fSwordFightBonusCaptainFalling_rs)
				{
					this.initSwordFightBonusCaptainBodyFalling();
				}
				return this.fSwordFightBonusCaptainFalling_rs;
			}// end function
			
			private function onClickMeIntroMusicCompletionStarted(event:Event) : void
			{
				this.startToPlayClickMeBonusMusicLoop();
				return;
			}// end function
			
			private function initMainGameNewNewSpinMusicLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fMainGameNewNewSpinMusicLoop_csl)
				{
					return;
				}
				this.fMainGameNewNewSpinMusicLoop_csl = new ContiguousSoundLoop();
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_NEW_NEW_SPIN_MUSIC, 0.5, this.getSoundVolume(TRACK_ID_NEW_NEW_SPIN_MUSIC), 0);
				_loc_1.addSound(TRACK_ID_NEW_NEW_SPIN_MUSIC, 0.5, this.getSoundVolume(TRACK_ID_NEW_NEW_SPIN_MUSIC), 5500);
				this.fMainGameNewNewSpinMusicLoop_csl.addIntroSound(_loc_1);
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_NEW_NEW_SPIN_MUSIC, 1, this.getSoundVolume(TRACK_ID_NEW_NEW_SPIN_MUSIC));
				this.fMainGameNewNewSpinMusicLoop_csl.addSound(_loc_1);
				this.fMainGameNewNewSpinMusicLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			public function setSound(param1:Boolean) : void
			{
				this.soundOn = param1;
				return;
			}// end function
			
			private function onCompassCoverClosed(event:Event) : void
			{
				this.playSound(TRACK_ID_COMPASS_LATCH);
				return;
			}// end function
			
			private function onSpinStopped(event:Event) : void
			{
				if (ReelsDispatcher(event.target).freeSpinsBonusInProgress)
				{
					return;
				}
				this.stopToPlaySpinMusic();
				this.playMainBGMSoundLoop();
				return;
			}// end function
			
			private function onSwordFightBonusStarted(event:Event) : void
			{
				this.stopMainBGMSoundLoop();
				this.ambientFxSoundLoop.applyVolumeGain(0.5, 300);
				this.playSwordFightBGMMusicLoop();
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_INTRO_PANEL_CLICKED, this.onButtonClicked);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_INTRO_PANEL_HIDDING_STARTED, this.onSwordFightBonusIntroPanelHiddingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BUTTONS_INTRO_ANIMATION_STARTED, this.onSwordFightBonusButtonsIntroAnimationStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BUTTON_PULSING_STARTED, this.onSwordFightBonusButtonPulsingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_BUTTON_CLICKED, this.onButtonClicked);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_DEATHMATCH_STARTED, this.onSwordFightBonusDeathmatchStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_SWORD_SWISHING_STARTED, this.onSwordFightBonusSwordSwishingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_SWORDS_CLASHING_STARTED, this.onSwordFightBonusSwordsClashingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_FOOTSTEP, this.onSwordFightBonusFootstep);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_LIGHT_FOOTSTEP, this.onSwordFightBonusLightFootstep);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_DOUBLE_FOOTSTEP, this.onSwordFightBonusDoubleFootstep);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_STUMBLE_FOOTSTEP, this.onSwordFightBonusStumbleFootstep);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_HERO_TAKES_A_HIT_BY_SLASH, this.onSwordFightBonusHeroTakesAHitBySlash);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_HERO_TAKES_A_HIT_BY_THRUST, this.onSwordFightBonusHeroTakesAHitByThrust);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_CAPTAIN_TAKES_A_HIT_BY_SLASH, this.onSwordFightBonusCaptainTakesAHitBySlash);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_CAPTAIN_TAKES_A_HIT_BY_THRUST, this.onSwordFightBonusCaptainTakesAHitByThrust);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_DEATHMATCH_INFO_PANEL_HIDDING_STARTED, this.onSwordFightBonusDeathmatchResultPanelHiddingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_DEATHMATCH_INFO_PANEL_SHOWING_STARTED, this.onSwordFightBonusDeathmatchResultPanelShowingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_SELECT_NEXT_ATTACH_TIP_HIDDING_STARTED, this.onSwordFightBonusNextAttackTipHiddingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_FINAL_CAPTAIN_FALLING_STARTED, this.onSwordFightBonusFinalCaptainFallingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_CAPTAIN_FALLEN_ON_THE_FLOOR, this.onSwordFightBonusPirateFallen);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_ROPES_CUTTING_STARTED, this.onSwordFightBonusRopesCuttingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_SWORD_SHEATHING_STARTED, this.onSwordFightBonusSwordSheathingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_BLOCK_TURNING_STARTED, this.onSwordFightBonusBlockTurningStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_BLOCK_TURNING_COMPLETED, this.onSwordFightBonusBlockTurningCompleted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_HERO_MAIDEN_LEFT_MOTION_STARTED, this.onSwordFightBonusHeroMaidenLeftMotionStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_HERO_MAIDEN_RIGHT_MOTION_STARTED, this.onSwordFightBonusHeroMaidenRightMotionStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_DEATHMATCH_COMPLETED, this.onSwordFightBonusDeathmatchCompleted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_FINAL_WIN_PANEL_INCREASING_STARTED, this.onSwordFightBonusFinalWinPanelIncreasingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_FINAL_WIN_VALUE_COUNTING_STARTED, this.onSwordFightBonusFinalWinValueCountingStarted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_FINAL_WIN_VALUE_COUNTING_COMPLETED, this.onSwordFightBonusFinalWinValueCountingCompleted);
				GameDispatcher(event.target).addEventListener(SwordFightBonusController.EVENT_SWORDFIGHT_BONUS_COMPLETED, this.onSwordFightBonusCompleted);
				return;
			}// end function
			
			private function onBarrelIconLiquidAnimationStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_BARREL_LIQUID);
				return;
			}// end function
			
			private function onWorkerGrogBonusFinalWinCountingCompleted(event:Event) : void
			{
				this.workerGrogBonusFinalWinCountingSoundLoop.stopToPlay();
				this.playSound(TRACK_ID_WORKER_GROG_BONUS_FINISHER);
				return;
			}// end function
			
			private function onCannonIconCannonShot(event:Event) : void
			{
				this.playSound(TRACK_ID_CANNON_ICON_CANNON_SHOT);
				return;
			}// end function
			
			private function onFreeSpinsParrotWingbeat(event:Event) : void
			{
				this.playSound(TRACK_ID_FREE_SPINS_PARROT_WINGBEAT);
				return;
			}// end function
			
			private function playWorkerGrogAmbientFXSoundLoop() : void
			{
				this.workerGrogBonusAmbientFxSoundLoop.start(TRACK_ID_PRIMARY_BG, 0, 1000);
				return;
			}// end function
			
			private function onSwordFightBonusNextAttackTipHiddingStarted(event:Event) : void
			{
				this.playSwordFightBonusPanelWhooshing();
				return;
			}// end function
			
			private function getSoundVolume(param1:String) : Number
			{
				switch(param1)
				{
					case TRACK_ID_PRIMARY_BG:
					case TRACK_ID_PRIMARY_BG_INTERRUPTOR_1:
					case TRACK_ID_PRIMARY_BG_INTERRUPTOR_2:
					{
						return 0.3;
					}
					case TRACK_ID_PRIMARY_BG_ASSET_1:
					case TRACK_ID_PRIMARY_BG_ASSET_2:
					case TRACK_ID_PRIMARY_BG_ASSET_3:
					case TRACK_ID_PRIMARY_BG_ASSET_4:
					case TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_1:
					case TRACK_ID_PRIMARY_BG_INTERRUPTOR_ASSET_2:
					{
						return 0.2;
					}
					case TRACK_ID_SPIN_BUTTON_CLICKED:
					{
						return 0.85;
					}
					case TRACK_ID_CLICKME_BONUS_INTRO_MUSIC:
					{
						return 0.9;
					}
					case TRACK_ID_FREE_SPINS_PARROT_VOICE:
					case TRACK_ID_FREE_SPINS_PARROT_CHATTER_1:
					case TRACK_ID_FREE_SPINS_PARROT_CHATTER_2:
					case TRACK_ID_FREE_SPINS_PARROT_CHATTER_3:
					case TRACK_ID_FREE_SPINS_PARROT_CHATTER_4:
					case TRACK_ID_FREE_SPINS_PARROT_CHATTER_5:
					case TRACK_ID_FREE_SPINS_PARROT_CHATTER_LAST_1:
					case TRACK_ID_FREE_SPINS_PARROT_CHATTER_LAST_2:
					case TRACK_ID_FREE_SPINS_PARROT_CHATTER_LAST_3:
					{
						return 0.8;
					}
					case TRACK_ID_MAIN_MUSIC_LOOP_PART_1:
					case TRACK_ID_MAIN_MUSIC_LOOP_PART_4A:
					case TRACK_ID_MAIN_MUSIC_LOOP_PART_4B:
					{
						return 0.6;
					}
					case TRACK_ID_REELS_SPINNING_STARTED:
					{
						return 0.5;
					}
					case TRACK_ID_FREE_SPINS_SPINNING_MUSIC:
					{
						return 0.8;
					}
					case TRACK_ID_FREE_SPINS_COMPLETION_SOUND:
					{
						return 0.5;
					}
					default:
					{
						return 1;
						break;
					}
				}
			}// end function
			
			private function initBigWinMusicLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fBigWinMusicLoop_csl)
				{
					return;
				}
				this.fBigWinMusicLoop_csl = new ContiguousSoundLoop();
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_BIG_WIN_MUSIC_LOOP_PART, 1, this.getSoundVolume(TRACK_ID_BIG_WIN_MUSIC_LOOP_PART));
				this.fBigWinMusicLoop_csl.addSound(_loc_1);
				this.fBigWinMusicLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onSwordFightBonusHeroMaidenLeftMotionStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_SWORDFIGHT_HERO_MAIDEN_LEFT_MOTION);
				return;
			}// end function
			
			private function get ambientFxSoundLoop() : SoundLoop
			{
				if (!this.fAmbientFxSoundLoop_sl)
				{
					this.initAmbientFXSoundLoop();
				}
				return this.fAmbientFxSoundLoop_sl;
			}// end function
			
			private function onBigWinCoinsFlowCompleteAnimationStarted(event:Event) : void
			{
				this.stopSound(TRACK_ID_BIG_WIN_COINS_FLOW, 500);
				return;
			}// end function
			
			private function onWildReelDockworkerSpeech(event:Event) : void
			{
				this.playSound(TRACK_ID_WILD_REEL_DOCKWORKER_VOICE);
				return;
			}// end function
			
			private function onClickMeIconCollected(event:Event) : void
			{
				this.fClickMeIconClickedButNotCollectedYet_bl = false;
				return;
			}// end function
			
			private function initSwordFightBonusSwordSwishing() : void
			{
				if (this.fSwordFightBonusSwordSwishing_rs)
				{
					return;
				}
				this.fSwordFightBonusSwordSwishing_rs = new RandomSound();
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_1, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_2, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_3, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_4, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_5, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_6, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_7, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_8, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_9, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_10, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_11, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_12, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_13, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_14, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_15, 0.05);
				this.fSwordFightBonusSwordSwishing_rs.addSound(TRACK_ID_SWORDFIGHT_SWORD_SWISHING_16, 0.25);
				this.fSwordFightBonusSwordSwishing_rs.soundOn = this.soundOn;
				return;
			}// end function
			
			private function initWorkerGrogBonusCountingSoundLoop() : void
			{
				var _loc_1:RandomSound = null;
				if (this.fWorkerGrogBonusCountingSoundLoop_csl)
				{
					return;
				}
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_WORKER_GROG_BONUS_COUNTING, 1, this.getSoundVolume(TRACK_ID_WORKER_GROG_BONUS_COUNTING));
				this.fWorkerGrogBonusCountingSoundLoop_csl = new ContiguousSoundLoop();
				this.fWorkerGrogBonusCountingSoundLoop_csl.addSound(_loc_1);
				this.fWorkerGrogBonusCountingSoundLoop_csl.soundOn = this.soundOn;
				return;
			}// end function
			
			private function onWildReelFirstCannonShot(event:Event) : void
			{
				this.playSound(TRACK_ID_WILD_REEL_FIRST_CANNON_SHOT);
				return;
			}// end function
			
			private function initMainBGMSoundLoop() : void
			{
				var _loc_1:RandomSound = null;
				this.fMainBGMSoundLoop_csl = new ContiguousSoundLoop();
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_MAIN_MUSIC_LOOP_PART_1, 1, this.getSoundVolume(TRACK_ID_MAIN_MUSIC_LOOP_PART_1));
				this.fMainBGMSoundLoop_csl.addSound(_loc_1);
				_loc_1 = new RandomSound();
				_loc_1.addSound(TRACK_ID_MAIN_MUSIC_LOOP_PART_4A, 0.5, this.getSoundVolume(TRACK_ID_MAIN_MUSIC_LOOP_PART_4A));
				_loc_1.addSound(TRACK_ID_MAIN_MUSIC_LOOP_PART_4B, 0.5, this.getSoundVolume(TRACK_ID_MAIN_MUSIC_LOOP_PART_4B));
				this.fMainBGMSoundLoop_csl.addSound(_loc_1);
				return;
			}// end function
			
			private function stopToPlayClickMeBonusMusicLoop() : void
			{
				if (!this.fClickMeBonusMusicLoop_csl)
				{
					return;
				}
				this.fClickMeBonusMusicLoop_csl.stopToPlay();
				return;
			}// end function
			
			private function onCoinsFallAnimationStarted(event:Event) : void
			{
				this.playSound(TRACK_ID_COINS_CLATTER);
				return;
			}// end function
			
			private function onIconWorkerBarrelThud(event:Event) : void
			{
				this.playSound(TRACK_ID_WORKER_ICON_BARREL_THUD);
				return;
			}// end function
			
		}
	}
